【问题标题】:stop a countdown timer after a certain time在一定时间后停止倒计时
【发布时间】:2015-11-19 01:37:46
【问题描述】:

我有一个 js 倒计时计时器(作者:ricocheting.com),可以倒计时到某个日期。它是这样执行的

window.onload = function() {
      var cdown = new CDown();

      cdown.add(new Date(2015, 8, 06, 15, 55, 00), "countdown-holder");
    };

倒计时是我想在谷歌广告上投放的广告的一部分,但谷歌对广告有 30 秒的限制,所以我想至少运行 30 秒的倒计时,然后让它停止然后消失。

作为一个完整且完全的编码新手,代码对我来说是一个迷宫,尽管我知道 init 函数正在使整个倒计时工作

init: function() {
        this.state = 1;
        var self = this;
        this.interval = window.setInterval(function() {
          self.tick();
        }, 1000);
      },

我还发现 clearTimeout() 会停止倒计时

window.clearTimeout(this.interval);

现在在网上搜索后,我知道有 setInterval() 函数可以在一定时间后阻止函数执行,所以我尝试将 window.clearTimeout(this.interval) 代码放入设置间隔函数,但这似乎不起作用:(

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 你需要使用clearInterval(this.interval)
  • 谢谢阿伦·P·约翰尼。我也尝试过使用它,但没有成功:(
  • 能否分享CDown的代码或者在sn-p/jsfiddle中创建一个demo
  • 这里是 jsfiddle link 的链接。我第一次使用 jsfiddle。希望该链接能让您找到代码。
  • 那么有什么问题......从列表中删除最后一项后计时器停止 - jsfiddle.net/arunpjohny/yzfr27bq/2

标签: javascript timer


【解决方案1】:

你需要使用clearInterval,clearTimeout用于停止由setTimeout函数创建的定时器。

我建议您改用setTimeout。我做了一个示例脚本,它将在 30 秒后调用 removeAd 函数。

setTimeout(removeAd, 30000); //30 seconds

【讨论】:

  • 谢谢杰兹。我正在尝试这个,但我一定是做错了什么。
  • 我尝试使用function myFunction () { cdown = setTimeout (windown.onload, 3000); },但这不起作用
  • 我也尝试过setTimeout(function() {window.clearTimeout(this.interval);}, 3000);,但也没有运气......就像我说的,对我来说是一个完整的迷宫......我的意思是我了解不同方法的作用,但并不真正了解他们如何在我的代码中工作:(
  • Jez,感谢您抽出宝贵时间回复。你是对的,我确实拼错了一个词,感谢你在 PS 中的提示....但仍然没有运气。计时器根本不会停止:(
  • 天哪,我不知道 Steam 是什么对不起(:你是在谈论 Steamcommunity.com 游戏爱好者吗(;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多