在 jQuery 中取消延迟的 Promise

2024-03-10

如何在不从 DOM 中删除元素的情况下取消 Promise?

fiddle http://jsfiddle.net/ripper234/LG9eZ/4/

我运行了这段代码:

$("#box")
  .delay(2000)
  .show("slow")
  .delay(2000)
  .promise()                            
  .then(function(){log("Done");});

在此之后,有没有办法取消承诺呢?两个都clearQueue() and stop(true)不起作用,因为这不是我要取消的动画。我看到了remove()应该这样做......但我只想停止承诺,而不是删除整个元素。


好消息。从昨天开始你可以取消你的承诺。

我发布了我的小插件的新版本jquery 计时 http://creativecouple.github.com/jquery-timing/它提供了两种方法,其中包括 .wait() 和 .unwait()。

var deferred = $("#box").delay(2000).show("slow").delay(2000).promise();
$.wait(deferred, function(){ log("Done"); });

如果您想取消注册回调:

$.unwait();

这些静态版本的 wait 和 unwait 还支持可选的组名称,以便不取消任何处理程序,而仅取消特定的集合。

除此之外,你还可以做很多更聪明的事情,例如:

$('#box').wait(deferred).addClass('ready');

或一条链中的整个代码,没有 unwait 选项:

$("#box").delay(2000).show("slow")
  .delay(2000).join(function(){log("Done");})).addClass('ready');

或者相同甚至更短,可以选择取消两次暂停:

$("#box").wait(2000).show("slow",$)
  .wait(2000, function(){log("Done");})).addClass('ready');

只需查看最适合您的文档、示例和 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 jQuery 中取消延迟的 Promise 的相关文章

随机推荐

  • C、运行时测试 PATH 中是否存在可执行文件

    我目前正在用 C 语言编写一个应用程序 目标是 BSD 和 Linux 系统 希望能够普遍移植 该程序具有运行时依赖项 在本例中为 mplayer 就目前情况而言 我正在使用execlp 启动 mplayer 我正在检查 execlp 调用
  • 在 JavaScript 中获取平台特定的换行符?

    几年前 我为我的一个 Firefox 插件编写了以下函数 它可以帮助我获取特定于平台的换行符 GetNewLine function var platform navigator platform toLowerCase if platfo
  • x86 汇编中断服务程序可以调用另一个中断吗?

    我可以在独立 x686 环境中从中断服务程序中调用中断吗 那么可以执行以下操作 isr pusha call doSomething int 21h popa iret 如果可能的话 那么这些嵌套中断是否有任何重大的塌陷 虽然处理器对嵌套中
  • 选择 PySpark 中每行最大值的列名

    我有一个像这样的数据框 仅显示两列 但是原始数据框中有很多列 data ID1 3 5 ID2 4 12 ID3 8 3 df spark createDataFrame data ID colA colB df show ID colA
  • Javascript 扩展对象

    JavaScript 中的 Expando 对象是什么 我们需要这个的目的是什么 任何完整的例子将不胜感激 我在这里找到了 1 篇文章Javascript 网络开发的红发继子 http it toolbox com blogs think
  • 如何使用 ruby​​ 中的外部文件中的代码执行本地函数?

    require 可以执行本地定义的函数吗 我想描述我需要的最简单的方法就是展示一个例子 我使用的是 ruby 1 9 3 但也欢迎 1 8 和 2 0 的解决方案 我有一个文件 main rb 如下 class Stuff def self
  • 我如何区分我的键/值对列表

    如果我有一个清单List
  • 与字符串参数统一使用 JNI AndroidJNI.GetMethodID

    我正在使用 android java 插件进行统一工作 我试图从统一的 java 中调用函数 并且它工作成功 cls Activity AndroidJNI FindClass com unity3d player UnityPlayer
  • 无法连接远程调试器

    我正在使用 React JS 当我使用时react native run android 我的设备已插入 我看到一个空白页 当我摇动设备并选择Debug JS Remotely从选项列表中我看到以下屏幕 FYI OS Ubuntu 16 0
  • vim中如何全选并复制?

    如何在vim插入模式下全选并复制 还有另一种方法可以在正常模式下做到这一点吗 我尝试过视觉模式和 gg 和 shift gg 选择全部然后猛拉 但这不会将其传输到剪贴板以便能够将其粘贴到其他应用程序 如 Skype 或 chrome 浏览器
  • 如何将额外的自定义 ./configure autotools 选项传递给 Buildroot 包?

    例如 我想添加选项 enable foo enable bar to a configure命令 Many configure选项可以通过间接设置BR2 配置 但许多软件有如此多的选项 以至于不可能只有一个BR2 为每一个可能的配置 con
  • Blazor 服务器应用程序组件突然抛出空引用异常

    今天 当我在 Visual Studio 2022 中以调试模式启动 Blazor 服务器应用程序时 我几周来每天开发的 Blazor 服务器应用程序突然开始在 Host cshtml 中引发异常 错误如附图所示 Host cshtml 的
  • 如何从一堆变量中选择最小值?

    假设我有变量 a b c and d全部都有数字 我想获得最小 最大 值 我的典型 XSLT 1 0 方法是
  • 在浏览器关闭选项卡或浏览器退出时运行方法

    是否有一个可以在 Javascript Angular JQuery 中使用的操作处理程序 可以安排在 Web 浏览器中关闭选项卡之前执行的方法 关闭我的意思是退出浏览器或关闭选项卡或崩溃或其他什么 是的 你只需绑定beforeunload
  • 如何在java中从周数、年份和星期几获取日期?

    我有周数 相应的年份和周数 即 1 表示星期一 2 表示星期二 依此类推 有没有办法在java中找到带有这些信息的日期 以下是我在网上找到的一个方法 int week 51 LocalDate wkstart LocalDate now w
  • 如何避免 VBA 中的默认属性陷阱?

    我只是偶尔使用 VBA 每次我回到 VBA 时 我都会遇到以下一些变化 我有一个Range目的 currentCell 我用它来跟踪我在电子表格中使用的单元格 当我更新它以指向不同的单元格时 我写道 currentCell currentC
  • Django - 网站主页

    我一直在研究 Django 从我所看到的来看 它真是太棒了 然而 我有点困惑 如何为我的网站实现 主页 它是一个单独的应用程序 还是只是项目中的一个视图 还是什么 对此没有真正的规则 但我喜欢做的一件事实际上是安排索引访问重定向到另一个位置
  • html 元素上的 title 属性有什么用?

    html 元素上的 title 属性有什么用 div class myDiv title This is the title Stuff div 它的目的是用作工具提示吗 它还有什么进一步的用处吗 差不多了 HTML 规范称之为咨询文本 h
  • 如何在Cron上动态设置变量?

    我正在尝试将 cron 文件放置在 etc croon 中 d 我的问题是我不想保持此文件更新 所以我正在寻找一种从文件动态获取软件版本的方法 我几乎没有其他变量 但现在我认为问题在于 cat software VERSION 它在 she
  • 在 jQuery 中取消延迟的 Promise

    如何在不从 DOM 中删除元素的情况下取消 Promise fiddle http jsfiddle net ripper234 LG9eZ 4 我运行了这段代码 box delay 2000 show slow delay 2000 pr