3

我有一个简单的无序列表,其中列表项作为菜单项我创建了 jquery 只是为了有一个有趣的翻转效果:

$('#nav ul ul li').hover(function(){
$(this).animate({ 
        marginLeft: "20px",
      }, 300 );
}, function(){
$(this).animate({ 
        marginLeft: "0px",
      }, 300 );
});

这个脚本的问题是,如果你多次冲过菜单,动画队列就会建立起来。我尝试在两者之间使用 .stop() ,但随后它也会停止其他列表项的动画,在任何情况下都应返回默认状态。有没有办法停止()每个项目的队列?但不是整个列表?

4

1 回答 1

3

我不明白为什么 $(this) .stop() .animate(...) 不适合你,但你也可以尝试这种方法:

$(":not(:animated)", this).animate(...)

这只会触发当前没有动画的元素上的动画

于 2009-05-19T12:39:40.650 回答