Javascript 停止。鼠标离开JQuery时悬停动画
我有点像:Javascript 停止。鼠标离开JQuery时悬停动画,javascript,jquery,Javascript,Jquery,我有点像: $('.test').hover( function(){ $(this).animate(...); }, function(){ $(this).animate(...); } ); 但是,如果用户的鼠标在动画完成之前离开,动画将继续。如果我快速反复地将鼠标悬停在该元素上,动画会在鼠标离开该元素后重复数次。如何使动画在鼠标离开元素后停止 您正在寻找: 有两个可选的布尔参数。第一个是clearQueue。如果设置为false(或省略),则更像是暂停动画而不是停止动画
$('.test').hover(
function(){
$(this).animate(...);
}, function(){
$(this).animate(...);
}
);
但是,如果用户的鼠标在动画完成之前离开,动画将继续。如果我快速反复地将鼠标悬停在该元素上,动画会在鼠标离开该元素后重复数次。如何使动画在鼠标离开元素后停止 您正在寻找:
有两个可选的布尔参数。第一个是clearQueue
。如果设置为false
(或省略),则更像是暂停动画而不是停止动画。下次在该对象上启动动画时,它将在继续之前完成暂停的动画和任何其他排队的动画。在您的情况下,您希望它是true
,这将告诉它实际停止动画并清除任何排队的操作
第二个可选参数是jumpToEnd
。如果false
(或省略),动画将在其轨迹中停止。如果true
,它将跳转到动画结束时对象所处的状态。你可能想省去这个,尽管这取决于你正在做的动画类型
例如,假设您正在从0%不透明度淡入到100%不透明度,当您调用stop()
时,您的不透明度为75%,那么您将淡入淡入到0%不透明度。如果没有clearQueue
,对象将继续淡入100%,然后淡入0%。使用clearQueue
,对象将在75%时停止衰减,然后立即开始衰减回0%。如果jumpToEnd
为真,则对象将立即从75%变为100%不透明度,然后再变回0%
$('.test').hover(
function(){
$(this).stop(true).animate(...);
}, function(){
$(this).stop(true).animate(...);
}
);