2 u011500781 u011500781 于 2016.02.22 17:53 提问

如何实现定时器控制自身的定时时间?
 var a = 100;
        var timer1 = setInterval(function() {
            a += 1000;
            console.log(a);
        }, a);

        var timer2 = setInterval(function() {
            console.log(a +';');
        }, 1000);

我想让定时器的时间间隔a变化,但是这样不行?

2个回答

showbo
showbo   Ds   Rxr 2016.02.22 19:39

清除计时器再重启


var a = 100;
function timer1Func(){
  a += 1000;
                        clearInterval(timer1)
                        timer1 = setInterval(timer1Func, a);
            console.log(a);
}
        var timer1 = setInterval(timer1Func, a);
qq_19891827
qq_19891827   2016.02.23 10:08

这种情况建议使用一次性定时器更为妥当

  var a=1000;
function sss(){
    a+=1000;
    setTimeout(function(){
        console.log(a);
        sss();
    },a);
};
sss();
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
51单片机定时控制灯
让第一个小灯亮0.5秒,再熄灭0.5秒。 我们先随便写一个小灯闪烁的程序,以第一个小灯为例: #include sbit L1=P1^0; void main() { int a; while(1) { a=66666; L1=0; while(a--); a=66666; L1=1; while(a--); } } 那么怎么知道这个小灯亮了多长
同一个定时器实现不同的定时功能
最近在学习VC 的时候使用到了UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer)(HWND, UINT, UINT, DWORD) );函数。nIDEvent定时器非零标识,nElapse定时器的溢出时间。于是就想把这个思想用到单片机上。 void SetTime(UINT uiTime,U
java 内置定时器实现定时任务和自定义定时任务
首先,如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK 入门级的定期器Timer来执行重复任务。 JDK中,定时器任务的执行需要两个基本的类:     java.util.Timer;     java.util.TimerTask; 要运行一个定时任务,最基本的步骤如下: 1、建立一个要执行的任务TimerTask,TimerTask是一个抽
简单的一个用定时器控制的流水灯c程序
用定时器以间隔500MS在6位数码管上依次显示0、1、2、3….C、D、E、F,重复。 #include typedef unsigned int u8; typedef unsigned char u16; u8 code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39
用STM32定时器实现变换时间定时
利用STM32定时器功能实现先定时30s再定时20s,如此反复,并通过串口进行控制开启与关断
java自行实现单线程定时器
由于timer类实现的定时器是多线程的,这容易造成错误。所以实现了个单线程的定时器,虽然有点误差。 1、任务执行接口 package TimerManager; public interface ICmd { public void excute(); } 2、任务基类 package TimerManager; public class TaskCmd implement
串口通信的定时器实现方法
串口通信的定时器实现方法 之前使用了IO控制+软件延时的方法,模拟了串口的工作,更为重要的是了解了串口的工作原理.现在将使用定时器+中断来实现延时从而实现对延时更加精确的把控. 在这里首先提一下我们选择的定时器工作模式为 8位自动重装载 .因为避免了每次对定时器初始值的装载,所以时间也会相对准确些. 然后将提一下定时器初始值的计算方法.(这里以波特率BaudRate = 48
FPGA上实现实时时钟,定时器以及蜂鸣提醒
FPGA上实现实时时钟,定时器以及蜂鸣提醒,附有所有代码及注释。
51实现定时器定时调整
随着学习的深入对51的认识也越来越深,尤其对中断的重要性更是深深体会!如果你是和我一样的初学者,请一定要学好中断! 今天来分享一下有关定时器定时补偿的冷知识。 不知道你是否做过这样的实验,就是当你用定时器来定时1ms来实现数码管的自动加1。随着时间的推移,会发现和真正的时间略有偏差。于是就引出了接下来所要讲的。到底这些值差在哪里呢?主要在三个方面: 进入中断前要进行压栈,即是进行数据保
定时器0控制LED的闪烁时间;计数器1来控制数码管的显示
定时器0控制LED的闪烁时间;计数器1来控制数码管的显示