当你向上或向下悬停div时,我想要的是一种鼠标效果。但是,如果你将鼠标悬停几次然后停止,那么效果会不断重复。
我该如何解决这个问题?我认为我需要某种类似于animate选项的排队,但是对于fadeTo函数。有任何想法吗?
答案 0 :(得分:5)
您可以使用.stop
方法停止以前的动画。如果您传入true
作为参数,它也会清除排队的动画。
如果我已经理解了你正在寻找什么,那么你想要的就是这个(你说你想要一个“鼠标踪迹”,我认为这意味着你不希望以前的动画停止只要鼠标离开该元素,因此只有一次调用.stop
):
$(".test").mouseover(function(e){
$(this).stop(true).fadeTo(200,1);
}).mouseout(function(e){
$(this).fadeTo(200,0.3);
});
您可以看到正在运行here。
答案 1 :(得分:4)
正如你在标题中描述的那样:)
$(".test").mouseover(function(e){
$(this).stop().fadeTo(200,1);
}).mouseout(function(e){
$(this).stop().fadeTo(200,0.3);
});
答案 2 :(得分:2)
添加.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);
});