JS两个计时器倒计时,一个完结开始另个一个,如此循环

图片说明

两个定时器就这样不停的循环下去,

麻烦大神帮忙解决下,附上代码,感谢!

我已经卡死在这个问题上了......

你这不是有点问题么?第一个时间为0的时候第二个开始,第二个为0的时候,第一个再开始?岂不是负值呢?这是用js写的5秒后跳转页面,看能否帮助到你http://blog.csdn.net/qq_19558705/article/details/49851879

都设定了初始值的,第二个为0的时候,第一个重新开始

javascript计时器

找个计时器,然后写代码控制轮流



<script>
    function Timer(maxtime, id, callback) {
        //maxtime:时间,单位s
        //id:显示计时器信息的容器id
        //callback:计时器结束回调
        var tmp
        function CountDown() {
            if (maxtime >= 0) {
                day = Math.floor(maxtime / (60 * 60 * 24));
                tmp = maxtime - day * 60 * 60 * 24;
                hours = Math.floor(tmp / (60 * 60));
                tmp = tmp - hours * 60 * 60;
                minutes = Math.floor(tmp / (60));
                tmp = tmp - minutes * 60;
                seconds = tmp
                msg = "距离结束还有" + day + "天" + hours + "小时" + minutes + "分" + seconds + "秒"
                document.getElementById(id).innerHTML = msg;
                maxtime -= 1;
            }
            else {
                clearInterval(timer);
                if (typeof callback == "function") callback(); //执行倒计时完成后的回调
            }
        }
        var timer = setInterval(function () { CountDown() }, 1000);
    }
    function callback() {
        document.getElementById('Timer'+current).innerHTML='计时器'+i+'及时完成';
        current++;
        if (current >= arrTimer.length) current = 0;
        new Timer(arrTimer[current], 'Timer' + current, callback)
    }
    var arrTimer = [10, 15,20],//多个计时器时间放这里
        current = 0;//记录执行到的计时器
    for (var i = 0; i < arrTimer.length; i++) document.write('<div id="Timer' + i + '">计时器' + i + ':' + arrTimer[i] + 's</div>')
    new Timer(arrTimer[current],'Timer'+current,callback)
</script>