setInterval()方法的调用和停止。

这段时间在写一个打地鼠的javascript;关于倒计时的问题运用了setInterval()方法,但是在停止调用方面却遇到了一些问题。

  • 一开始我尝试运用
    if(条件){
       setInterval(a,b);
    }

    显然我对setInterval()的认识不足,这并不是一个需要反复调用的方法,实际上,setInterval()只需要调用一次就会无限调用/*我早该意识到这一点的*/

  • 上网简单查阅了一下,发现setInterval()需要用clearInterval() 来停止。

  • 具体说明如下:

  • var myVar = setInterval(function(){ myTimer() }, 1000);
     
    function myTimer() {
        var d = new Date();
        var t = d.toLocaleTimeString();
        document.getElementById("demo").innerHTML = t;
    }
     
    function myStopFunction() {
        clearInterval(myVar);
    }

    clearInterval() 方法可取消由 setInterval() 函数设定的定时执行操作。

    clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。

    注意: 要使用 clearInterval() 方法, 在创建执行定时操作时要使用全局变量:

  • 下面再添我修改后的倒计时代码吧!!!

    button1.onclick = function() {
        	//如果是暂停,则调整时间
        	if(c_D_Time_Z_flag){
               time = c_D_Time_Z;
        	}
        	c_D_Time_Z_flag = false;
        	start_Time = new Date();//游戏开始时间 
        	myVar = setInterval(count_Down,1000);
          }
        function count_Down(){
        	var c_D_Time1 = new Date();
            c_D_Time = time-parseInt(parseInt((c_D_Time1 - start_Time))/1000);
            document.f1.t4.value = c_D_Time;  
            if(c_D_Time_Z_flag){
              /* 获取当前倒计时的值,等待开始进行传输*/
              c_D_Time_Z = c_D_Time;
            }
            if(c_D_Time<1||c_D_Time_Z_flag){    	
                  clearInterval(myVar);//停止调用          
            }
            
        }
        button2.onclick = function() {
        	//如果是暂停,则调整时间
        	c_D_Time_Z_flag = true;
          }

     

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值