使用jQuery淡化背景颜色?

时间:2013-10-18 04:51:33

标签: jquery

我想拍摄div并让背景在mouseenter上淡化为白色,并在mouseout上淡出为黑色。关于如何在jQuery中执行此操作的任何想法?

3 个答案:

答案 0 :(得分:10)

使用JQuery .hover()

  $("div" ).hover(
  function() {
     $(this).animate({backgroundColor: "#fff"}, 'slow');
  }, function() {
    $(this).animate({backgroundColor:"#000"},'slow');
  });

使用JQuery .mouseover()

$("div")
  .mouseover(function() {
    $(this).animate({backgroundColor: "#fff"}, 'slow');
  })
  .mouseout(function() {
    $(this).animate({backgroundColor:"#000"},'slow');
  });

注意你必须使用jquery-color(用于动画颜色)。 https://github.com/jquery/jquery-color/

答案 1 :(得分:2)

您需要使用jQuery UI libararyjQuery Colors来启用颜色动画

$('div').hover(function () {
    $(this).stop(true, true).animate({
        backgroundColor: 'black'
    })
}, function () {
     $(this).stop(true, true).animate({
        backgroundColor: 'white'
    })
})

演示:Fiddle

答案 2 :(得分:0)

OP请求jQuery。对于那些试图在没有jQuery的情况下自由交易的人:

<div id="x" style="background-color:rgb(255,255,105)">hello world</div>
<script type="text/javascript">
    var unBlue=100;
    var gEvent=setInterval("toWhite();", 100);
    function toWhite(){
        if(unBlue<255) document.getElementById("x").style.backgroundColor="rgb(255,255,"+unBlue+")";
        else clearInterval(gEvent);
        unBlue+=10;
    }
</script>