jQuery动画一遍又一遍地播放,不透明度变化太慢

时间:2010-10-16 17:39:22

标签: jquery

有超过30个列表标签。当我将鼠标悬停在其中一个上面时,我想保持此li的不透明度,并将暗淡或减少不透明度降低到0.4。

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

  1. 当我将鼠标悬停在它上面时,它会像手风琴一样反复重复。
  2. 如何解决这个问题?

    1. 由于我正在更改所有li的不透明度,因此我所使用的列表会将不透明度更改为0.4然后再为1.
    2. 太慢了。我不想改变我所在列表的不透明度。

      请有人建议更好的代码。

      提前致谢。

         $('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 个答案:

答案 0 :(得分:1)

使用.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