首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jQuery中停止特效

如何在jQuery中停止特效
EN

Stack Overflow用户
提问于 2008-09-12 20:40:00
回答 4查看 6.2K关注 0票数 13

我有一个页面,它使用

代码语言:javascript
复制
$(id).show("highlight", {}, 2000);

为了在启动ajax请求时突出显示一个元素,这可能会失败,因此我希望使用如下内容

代码语言:javascript
复制
$(id).show("highlight", {color: "#FF0000"}, 2000);

在错误处理程序中。问题是,如果第一个高亮显示还没有完成,第二个高亮显示被放在一个队列中,直到第一个高亮显示准备好才会运行。因此出现了这样的问题:我能以某种方式阻止第一种效果吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-09-12 20:42:48

从jQuery文档中:

http://docs.jquery.com/Effects/stop

在匹配的元素上停止当前运行的动画....

在元素上调用.stop()时,当前正在运行的动画(如果有)会立即停止。例如,如果在调用.stop()时使用.slideUp()隐藏了一个元素,则该元素现在仍将显示,但将是其以前高度的一小部分。未调用回调函数。

如果对同一元素调用了多个动画方法,则后面的动画将被放入该元素的效果队列中。在第一个动画完成之前,这些动画不会开始。当调用.stop()时,队列中的下一个动画立即开始。如果为clearQueue参数提供的值为true,则队列中的其余动画将被删除,并且永远不会运行。

如果为jumpToEnd参数提供的值为true,则当前动画将停止,但会立即为该元素提供其每个CSS属性的目标值。在上面的.slideUp()示例中,元素将被立即隐藏。然后立即调用回调函数,如果提供了...

票数 11
EN

Stack Overflow用户

发布于 2012-04-23 20:42:33

我列出了这篇文章作为对公认答案的评论,但我认为将其作为独立答案发布是一个好主意,因为它似乎可以帮助一些有 .stop()问题的人

仅供参考-我也在寻找这个答案(试图阻止脉动效应),但我的代码中确实有一个.stop()

查看完文档后,我需要.stop(true, true)

票数 15
EN

Stack Overflow用户

发布于 2016-02-22 19:10:42

.stop(true,true)将冻结效果,因此如果它在当时是不可见的,那么它将保持不可见。这可能是一个问题,如果你使用的是脉动效应。

代码语言:javascript
复制
$('#identifier').effect("pulsate", {times:5}, 1000);

为了解决这个问题,我添加了

代码语言:javascript
复制
$('#identifier').stop(true, true).effect("pulsate", { times: 1 }, 1);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档