Fade in background color using jQuery?

后端 未结 3 934
别那么骄傲
别那么骄傲 2020-12-21 05:03

I would like to take a div and have the background fade to white on mouseenter and fade back out to black on mouseout. Any ideas on how to do this in jQuery?

相关标签:
3条回答
  • 2020-12-21 05:45

    You need to use either jQuery UI libarary or jQuery Colors to enable animation of colors

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

    Demo: Fiddle

    0 讨论(0)
  • 2020-12-21 05:55

    with JQuery .hover()

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

    with JQuery .mouseover()

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

    Note you have to use jquery-color (for animating colors). https://github.com/jquery/jquery-color/

    0 讨论(0)
  • 2020-12-21 05:58

    OP requested jQuery. For those trying to free-hand without 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>
    
    0 讨论(0)
提交回复
热议问题