http://jsfiddle.net/sJFLq/1/jQuery的停止fadeTo效果
我想要的是一种的鼠标追踪效果,当鼠标悬停向上或向下的div。但是,如果您将鼠标悬停几次然后停止,则效果不断重复。
我该如何解决这个问题?我想我需要某种类似于动画选项的排队功能,但对于fadeTo功能。有任何想法吗?
http://jsfiddle.net/sJFLq/1/jQuery的停止fadeTo效果
我想要的是一种的鼠标追踪效果,当鼠标悬停向上或向下的div。但是,如果您将鼠标悬停几次然后停止,则效果不断重复。
我该如何解决这个问题?我想我需要某种类似于动画选项的排队功能,但对于fadeTo功能。有任何想法吗?
可以使用.stop
方法停止先前的喧闹。如果您通过true
作为参数,它也将清除排队的动画。
如果我明白你在找什么东西,那么你想要的是这个(你说你想要一个“鼠标线”,我想这意味着你不想让以前的动画只要鼠标离开该元素停止,因此只有一个调用.stop
):
$(".test").mouseover(function(e){
$(this).stop(true).fadeTo(200,1);
}).mouseout(function(e){
$(this).fadeTo(200,0.3);
});
你可以看到,运行here。
终止您以前的动画添加.stop()
:http://jsfiddle.net/sJFLq/5/
$(".test").mouseover(function(e){
$(this).stop(true, true).fadeTo(200,1);
}).mouseout(function(e){
$(this).stop(true, true).fadeTo(200,0.3);
});
完全按照您在您的标题形容它:)
$(".test").mouseover(function(e){
$(this).stop().fadeTo(200,1);
}).mouseout(function(e){
$(this).stop().fadeTo(200,0.3);
});
简单的停止也减少了平滑的尾迹效应。 – Bluemagica
@aoi我认为James Allardice的回答正是你想要的! – Andy
也许:http://api.jquery.com/stop/ –
可能重复[如何在jQuery中停止效果](http://stackoverflow.com/questions/59896/how-doi-i-停止效果在jquery) – bzlm