js setinterval 修改运行中的时间段

今天突然有个想法,修改运行中的setInterval的时间;于是,看看网上的大神们,怎么实现的,果然,有一个帖子,里面,就有,真有幸看到这个贴;所以记录下来:

function setDeceleratingTimeout(callback, factor, times)
{
    var internalCallback = function(tick, counter) {
        return function() {
            if (--tick >= 0) {
                window.setTimeout(internalCallback, ++counter * factor);
                callback();
            }
        }
    }(times, 0);

    window.setTimeout(internalCallback, factor);
};

// console.log() requires firebug    
setDeceleratingTimeout(function(){ console.log('hi'); }, 10, 10);
setDeceleratingTimeout(function(){ console.log('bye'); }, 100, 10);

你可能感兴趣的:(js,js,callback)