【问题标题】:Stop multiple events firing on JQuery fadeTo停止在 JQuery fadeTo 上触发的多个事件
【发布时间】:2013-07-25 14:50:49
【问题描述】:

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

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

我尝试了stop()stopPropagation() 但没有成功,可能是我没有正确使用它们。

我只想执行第一个,并丢弃用户在fadeTo() 动画期间可能触发的所有事件。动画后 div 应该又可以“悬停”了。

【问题讨论】:

  • 你提供了哪些论据stop()

标签: jquery events fadeto


【解决方案1】:

使用.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]

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

JSFIDDLE

【讨论】:

  • @lucafik 也谢谢你。前段时间我有同样的问题,现在我也找到了答案。 :-)
【解决方案2】:

您是否尝试过 stop()true, true

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

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    相关资源
    最近更新 更多