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

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

该脚本的问题是,如果您多次赶上菜单,则动画队列会构建。我尝试在两者之间使用.stop(),但随后它也停止了其他列表项的动画,无论如何,这些动画在任何情况下都应返回默认状态。有没有办法停止()每项队列?但不是整个列表吗?

有帮助吗?

解决方案

我不明白为什么$(这个)。停止()

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

这只会触发动画当前不动画的元素

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top