You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调用rendro/countdown插件的stop()等公共方法

解决rendro/countdown插件stop()方法调用问题

这个jQuery插件的实例对象会被存储在目标DOM元素的data属性中,你之前的调用方式都没拿到正确的实例,所以无法触发stop方法,正确操作如下:

正确调用stop()的方式

  1. 获取插件实例:初始化倒计时后,通过$('.countdown').data('countdown')拿到插件的实例对象
  2. 调用stop方法:直接对实例调用stop()即可

示例代码

修改你的初始化逻辑,方便后续调用

function Timer(minutes) {
  // 初始化倒计时
  $('.countdown').countdown({
    date: new Date().getTime() + (1000 * 60 * minutes - 1000),
    render: function(data) {
      $(this.el).text(this.leadingZeros(data.min) + ":" + this.leadingZeros(data.sec, 2));
    }
  });
  // 返回实例对象,方便后续操作
  return $('.countdown').data('countdown');
}

// 初始化并保存实例
var timerInstance = Timer(2);

// 需要停止时调用
timerInstance.stop();

直接在任意位置停止(无需修改Timer函数)

如果不想修改原Timer函数,在需要停止倒计时的地方直接执行:

$('.countdown').data('countdown').stop();

补充说明

  • 该插件的所有公共方法(比如start()、stop()、toggle())都需要通过存储在DOM元素data中的实例对象调用
  • 你的原代码里render函数和countdown方法的闭合括号缺失,记得补全,否则初始化会失败

内容的提问来源于stack exchange,提问作者CharleyB0y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:45:54