我使用jQuery在mouseenter
按钮
$(".topics .goals").mouseenter(function(){
$(".ligoals").slideDown("slow");
});
并在mouseleave
$(document).ready(function(){
$(".topics .goals").mouseleave(function(){
$(".ligoals").slideUp("slow");
});
});
但是我有问题所以当我快速移动鼠标按钮时,jquery会一直向下滑动。我想知道是否有人可以提供帮助。
答案 0 :(得分:1)
这是因为mouseenter
和mouseleave
事件被推入队列中。如果移动得非常快,很多动画都会排队,并按时间顺序播放。
您可以使用 .stop() 来避免此行为。如下:
$(document).ready(function(){
$(".topics .goals").mouseleave(function(){
$(".ligoals").stop(true).slideUp("slow");
});
$(".topics .goals").mouseenter(function(){
$(".ligoals").stop(true).slideDown("slow");
});
});
一般例子:
$el.event( function(){
$(this).stop(true).animate(...);
});