代码之家  ›  专栏  ›  技术社区  ›  shin

jQuery动画反复播放,更改不透明度太慢

  •  0
  • shin  · 技术社区  · 15 年前

    我做了以下代码。但我有两个问题。

    1. 当我在上面盘旋时,它像一个坏了的手风琴一样一遍又一遍地重复着。

    1. 因为我正在更改所有li的不透明度,所以我所在的列表将不透明度更改为0.4,然后更改为1。

    太慢了。我不想改变列表的不透明度。

    提前谢谢。

       $('ul .applications li').hover(
        function () {
    
        $('ul .applications li').animate({
        opacity: 0.4
      }, 800 );
        $(this).animate({
         opacity: 1
        } );
    
    
    },
      function () {
          $('ul .applications li').animate({
         opacity: 1
        }, 500 );
    
      }
    
    
    
    )
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Nick Craver    15 年前

    使用 .stop(true) 要停止以前的动画(并清除队列),以便它们不会像这样排队:

    $('ul .applications li').hover(function () {
      $('ul .applications li').stop(true).animate({ opacity: 0.4 }, 800 );
      $(this).stop(true).animate({ opacity: 1 });
    }, function () {
      $('ul .applications li').stop(true).animate({ opacity: 1 }, 500 );
    });
    

    You can test it out here .