所以如果我将鼠标悬停在div上,我想停止多个事件触发。这是我的代码。
$( "#menu" ).hover(
function() {
$("#menu").fadeTo("slow",0.8);
},
function() {
$("#menu").fadeTo("slow",0);
}
);
我尝试使用stop()
和stopPropagation()
,但没有成功,也许我没有正确使用它们。
我只希望执行第一个,并放弃用户在fadeTo()
动画期间可能触发的所有事件。在动画div之后应该再次“可以”。
答案 0 :(得分:2)
将.stop()
jQuery函数与true, false
参数一起使用:
$( "#menu" ).hover(
function() {
$("#menu").stop(true, false).fadeTo("slow",0.8);
},
function() {
$("#menu").stop(true, false).fadeTo("slow",0);
}
);
.stop( [clearQueue ] [, jumpToEnd ] )
停止匹配元素上当前正在运行的动画。 [read more]
所以,它会清除问题,但不会跳到最后。
答案 1 :(得分:0)
您是否使用stop()
尝试true, true
?
$("#menu").stop(true, true).fadeTo("slow",0.8);