首页 > settimeout如何实现 和interval一样的效果

settimeout如何实现 和interval一样的效果

settimeout如何实现 和interval一样的效果


var getCount = function(doSth, interval) {
    var timer = 0,
        doSth = doSth,
        interval = interval || 1000;

    var run = function() {
        doSth();
        timer = setTimeout(run, interval);
    };

    return {
        run: run,
        stop: function() {
            timer && clearTimeout(timer);
        }
    };
}


var num = 0;
var doSth = function() {
    console.log(num);
};

var count = getCount(doSth, 500);

可以利用递归方法实现interval的效果,如下:

var c=0
var t
function timedCount()
{
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
}

//但是要注意它的倒计时没有interval计时准确!

【热门文章】
【热门文章】