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

时间:2014-12-10 01:50:43

标签: jquery redirect timer setinterval countdown

所以我一直在谷歌搜索,没有任何代码真正匹配我想要的东西我想要做的是有一个div 让它给它Timer5min的id然后在div有5:00 所以5分0秒然后我想让JQuery一秒钟地把它取下来我假设需要一个setInterval函数然后像:

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

然后设置第二个var,如var sec = $('#Timer5min').text();

虽然我假设if语句,但我不是100%关于如何做这些事情,但这是我被卡住的地方....所以任何想法都是?

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

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

编辑我正在寻找类似于此的东西但是还有一些......:

<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/

3 个答案:

答案 0 :(得分:1)

我认为在变量中保留秒数会更容易,而不是每次都进行编码/解码。

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

答案 1 :(得分:1)

这应该可以满足您的需求。但是,使用这个解决方案要记住的一件事是,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();
})();

答案 2 :(得分:0)

我想说当你想要定时器启动时获取系统时间,然后检查分钟是否比你开始时多5分钟

How to get current time with jQuery