我们说我有这个
$(".a").animate(
{"left":"100%"},
{duration:50000, complete:function(){
$(".a").css("background-color","black");
}}
);
$(".b").mouseover(function(){
$(".a").stop();
});
当.b
为mouseover
时,.a
将stop()
,因此其complete:event
将不会被触发....
即使停止complete:event
会触发我该怎么办?
有没有比这更好的解决方案?
function aaa(){
$(".a").css("background-color","black");
}
$(".a").animate(
{"left":"100%"},
{duration:50000, complete:function(){
aaa();
}}
);
$(".b").mouseover(function(){
$(".a").stop();
aaa();
});
[UPDATES] 这就是我的代码实际上的样子,抱歉没有早点显示...
$(".a").animate(
{"left":"100%"},
{duration:50000, complete:function(){
alert("A");
}}
);
$(".b").mouseover(function(){
$(".a").stop().animate(
{"top":"100%"}
)
});
我希望alert("A")
只执行一次..但我不会阻止来自mouseover
的用户.b
停止.a
..
如果我以这种方式写.b
鼠标:
$(".b").mouseover(function(){
$(".a").stop().animate(
{"top":"100%"}
{complete:function(){
alert("A");
}}
)
});
它可能alert("A")
两次而且我不想要......
答案 0 :(得分:2)
答案 1 :(得分:0)
为什么需要触发它,你不能在complete:event
调用后立即调用绑定到.stop()
的相同函数并获得相同的效果吗?