$('#menu > li').hover(function(){
$(this).find('ul').slideDown();
});
$('#menu > li').mouseleave(function(){
$(this).find('ul').slideUp();
});
这工作正常,但如果我悬停/离开< li>菜单的项目很多次,非常快,一旦我停下来,我会看到它上下滑动的次数和我徘徊的次数一样多,
请观看此类视频捕捉
¿怎么可以预防?
解决方法:
您可以使用stop
来停止当前动画.您还可以组合两个事件处理程序,只使用hover
(可以使用2个参数,第一个是在mouseenter上运行的函数,第二个是在mouseleave上运行的函数):
$('#menu > li').hover(function() {
$(this).find('ul').stop(true, true).slideDown();
}, function() {
$(this).find('ul').stop(true, true).slideUp();
});
第一个参数是clearQueue,当你反复悬停时,它会停止无休止地排队的动画.第二个参数是jumpToEnd,它强制任何当前正在运行的动画在开始新动画之前结束.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。