我使用jQuery在mouseenter
按钮上滑下一个列表
$(".topics .goals").mouseenter(function(){
$(".ligoals").slideDown("slow");
});
并在mouseleave
上滑动
$(document).ready(function(){
$(".topics .goals").mouseleave(function(){
$(".ligoals").slideUp("slow");
});
});
但是我有问题,所以当我快速地移动鼠标时,jquery就会不断地向下和向上滑动。我想知道有没有人能帮上忙。
发布于 2016-11-29 23:05:29
这是因为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(...);
});
https://stackoverflow.com/questions/40877268
复制相似问题