如何定时改变定时器的时间间隔?

vcxiaohan 发布于 2016/02/22 17:44
阅读 234
收藏 0

有这么一个需求:

设置一个计时器,它的时间是可以变化的,如下(a是可以变化的):

var a = 100;

var timer = setInterval(function() {

                a += 1000;
                console.log(a);
            }, a);
该如何实现呢?这样好像不生效?

加载中
0
v
vcxiaohan

引用来自“loyd2015”的评论

这样估计不好搞,我有个投机取巧的办法。

var a = 100;
    var sTime = new Date();
    var eTime;
 	var timer = setInterval(function() {
 		//把这个当场监视器
 		eTime = new Date();
 		if(eTime.getTime() - sTime.getTime() >= a){
 			 a += 1000;
                         console.log(( a);
                         sTime = new Date();
 		}
 	}, a);




var a = 100;
        
        (function resetTimer() {
            var timer = setInterval(function() {
                a += 1000;
                console.log(a);
                resetTimer();
                clearInterval(timer);
            }, a);

        })();

这样也可以实现,谢谢了

罗先生
嗯嗯
0
罗先生

这样估计不好搞,我有个投机取巧的办法。

var a = 100;
    var sTime = new Date();
    var eTime;
 	var timer = setInterval(function() {
 		//把这个当场监视器
 		eTime = new Date();
 		if(eTime.getTime() - sTime.getTime() >= a){
 			 a += 1000;
                         console.log(( a);
                         sTime = new Date();
 		}
 	}, a);




返回顶部
顶部