jquery – 在鼠标悬停时更改背景颜色,并在mouseout后删除它

前端之家收集整理的这篇文章主要介绍了jquery – 在鼠标悬停时更改背景颜色,并在mouseout后删除它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有桌子哪个类是论坛。我的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>

猜你在找的jQuery相关文章