jquery简单菜单翻转(无动画队列)
我有一个简单的无序列表,其中列表项作为菜单项 我创建 jquery 只是为了有一个有趣的翻转效果 是:
$('#nav ul ul li').hover(function(){
$(this).animate({
marginLeft: "20px",
}, 300 );
}, function(){
$(this).animate({
marginLeft: "0px",
}, 300 );
});
这个脚本的问题是,如果你多次冲过菜单,就会建立一个动画队列。 我尝试在两者之间使用 .stop() ,但它也会停止其他列表项的动画,这些列表项在任何情况下都应返回默认状态。 有没有办法停止()每个项目的队列? 但不是整个列表?
I have a simple unordered list with list items as menu item
i created the jquery just to have a funny rollover effect
being:
$('#nav ul ul li').hover(function(){
$(this).animate({
marginLeft: "20px",
}, 300 );
}, function(){
$(this).animate({
marginLeft: "0px",
}, 300 );
});
the problem with this script is, if you rush over the menu several times, an animation queue builds up.
i tried to use .stop() in between, but then it also stops the animations from the other list items which should return to default state in any case.
is there a way to stop() the queue per item? but not for the whole list?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不明白为什么 $(this).stop().animate(...) 不适合你,但你也可以尝试这种方法:
这只会触发元素上的动画目前还没有动画化的
I don't see why $(this).stop().animate(...) is not working for you, but you can also try this approach:
which will only trigger the animation on elements that are not currently animated