我有桌子哪个类是论坛。我的jquery代码:
<script type="text/javascript"> $(document).ready(function() { $('.forum').bind("mouSEOver",function(){ var color = $(this).css("background-color"); $(this).css("background","#380606"); $(this).bind("mouSEOut",function(){ $(this).css("background",color); }) }) }) </script>
它完美有效,但有可能以更有效的方式做到没有var color = $(this).css(“background-color”);.在mouSEOut之后离开之前的背景颜色并删除#380606?谢谢。
解决方法
如果你不关心IE≤6,你可以使用纯CSS ……
.forum:hover { background-color: #380606; }
.forum { color: white; } .forum:hover { background-color: #380606 !important; } /* we use !important here to override specificity. see http://stackoverflow.com/q/5805040/ */ #blue { background-color: blue; }
<Meta charset=utf-8> <p class="forum" style="background-color:red;">Red</p> <p class="forum" style="background:green;">Green</p> <p class="forum" id="blue">Blue</p>
使用jQuery,通常最好为此样式创建一个特定的类:
.forum_hover { background-color: #380606; }
然后在mouSEOver上应用该类,并在mouSEOut上删除它。
$('.forum').hover(function(){$(this).toggleClass('forum_hover');});
$(document).ready(function(){ $('.forum').hover(function(){$(this).toggleClass('forum_hover');}); });
.forum_hover { background-color: #380606 !important; } .forum { color: white; } #blue { background-color: blue; }
<Meta charset=utf-8> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p class="forum" style="background-color:red;">Red</p> <p class="forum" style="background:green;">Green</p> <p class="forum" id="blue">Blue</p>
如果不能修改类,可以将原始背景颜色保存在.data()中:
$('.forum').data('bgcolor','#380606').hover(function(){ var $this = $(this); var newBgc = $this.data('bgcolor'); $this.data('bgcolor',$this.css('background-color')).css('background-color',newBgc); });
$(document).ready(function(){ $('.forum').data('bgcolor',newBgc); }); });
.forum { color: white; } #blue { background-color: blue; }
<Meta charset=utf-8> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p class="forum" style="background-color:red;">Red</p> <p class="forum" style="background:green;">Green</p> <p class="forum" id="blue">Blue</p>
要么
$('.forum').hover( function(){ var $this = $(this); $this.data('bgcolor','#380606'); },function(){ var $this = $(this); $this.css('background-color',$this.data('bgcolor')); } );
$(document).ready(function(){ $('.forum').hover( function(){ var $this = $(this); $this.data('bgcolor',$this.data('bgcolor')); } ); });
.forum { color: white; } #blue { background-color: blue; }
<Meta charset=utf-8> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p class="forum" style="background-color:red;">Red</p> <p class="forum" style="background:green;">Green</p> <p class="forum" id="blue">Blue</p>