如何制作一个从 5 分钟倒计时然后重定向的计时器?JQuery



所以我一直在谷歌搜索,没有代码真正符合我想要的痛苦,我想做的是有一个div让我们给它计时器 5min 的 id,然后在div 中有 5:00所以 5 分 0 秒,然后我想让 JQuery 一秒一秒地把它拿下来,我假设这需要一个 setInterval 函数,然后是这样的:

 $('#Timer5min').text(--sec);

然后像这样设置第二个变量var sec = $('#Timer5min').text();

我不是 100% 关于如何做 mintues,虽然我假设一个 if 语句,但这就是我卡住的地方......所以有什么想法吗?

如果计时器达到 0 分钟零 0 秒时让它重定向到某个地方,那也很好......

感谢您阅读:)没有插件答案请xD

编辑我正在寻找与此类似的东西,但也带有mintus...:

<div id="Timer5min">
 300 
</div>
var sec = $('#Timer5min').text()
var timer = setInterval(function() { 
   $('#Timer5min').text(--sec);
   if (sec == 10) {
     //redirect
      clearInterval(timer);
   } 
}, 1000);

http://jsfiddle.net/GNrUM/1181/

这应该能得到你想要的东西。但是,使用此解决方案要记住的一件事是,setTimeout 不能保证在 1000 毫秒时准确触发,因此您的计时器可能偶尔会偏离一点点。

(function() {
    var timer = 301; // 5 minutes worth of seconds + 1 for the first call
    function countDown() {
        if (--timer) {
            var minutes = timer % 60;
            if (!minutes) {
                minutes = '00';
            }
            $('#Timer5min').text(Math.floor(timer/60) + ':' + minutes);
            setTimeout(countDown, 1000);
        } else {
            window.location = 'http://google.com';
        }
    }
    countDown();
})();
我认为将

秒数保留在变量中比每次编码/解码更容易。

var i=300;
document.getElementById("xxx").innerHTML=""+Math.floor((i/60))+":"+(i%60);
我会说在

您希望计时器启动时获取系统时间,然后检查分钟是否比开始时多 5

分钟

如何使用jQuery获取当前时间

最新更新