停止在JQuery fadeTo上触发多个事件

时间:2013-07-25 06:27:37

标签: jquery events fadeto

所以如果我将鼠标悬停在div上,我想停止多个事件触发。这是我的代码。

$( "#menu" ).hover(
  function() {
    $("#menu").fadeTo("slow",0.8);
  },
  function() {      
    $("#menu").fadeTo("slow",0);
   }
);

我尝试使用stop()stopPropagation(),但没有成功,也许我没有正确使用它们。

我只希望执行第一个,并放弃用户在fadeTo()动画期间可能触发的所有事件。在动画div之后应该再次“可以”。

2 个答案:

答案 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]

所以,它会清除问题,但会跳到最后。

JSFIDDLE

答案 1 :(得分:0)

您是否使用stop()尝试true, true

$("#menu").stop(true, true).fadeTo("slow",0.8);