zoukankan      html  css  js  c++  java
  • setInterval 与 clearInterval详解

    首先注意,setInterval与clearInterval都是直属于window对象的。

    1、直接调用setInterval(即不通过函数调用)

    <div id="oDiv_showCurrTime0" style="border:1px solid black; height:20px;"></div>
    <script>
    var dT = document.getElementById("oDiv_showCurrTime0");
    //var inX = setInterval("funX()",1000);	
    var inX = setInterval(funX,1000); //setInerval直接使用时,这两种方法都可以
    	function funX(){
    		var dTime = new Date();
    		dT.innerHTML = dTime.toLocaleTimeString()
    	}
    </script>
    

    2、函数调用setInterval和clearnterval

    <div id="oDiv_showCurrTime" style="border:1px solid black; height:20px;"></div><button onclick="startX()">开始</button><button onclick="stopX()">停止</button>
    <script>
    var intX; //这个必须写在startX函数外或不写,stopX才有效。
    function startX(){
     intX= setInterval(func,500) //通过函数调用setInterval时,第一个参数不可以用"func()"这种形式,只能直接用函数名
    	var dT = document.getElementById("oDiv_showCurrTime");
    	function func(){
    		var dTime = new Date();
    		dT.innerHTML = dTime.toLocaleTimeString()
    	}
    }
    function stopX(){
    	window.clearInterval(intX) //注意!如果var intX定义在startX内,则无法清除!
    }
    </script>
    

      3、函数调用带有参数的setInterval

    <div id="oDiv_showCurrTime" style="border:1px solid black; height:20px;"></div><button onclick="startX()">开始</button><button onclick="stopX()">停止</button>
    <script>
    var intX; //这个必须不写或者写在startX函数外,stopX才有效。
    var arr = new Array;
    arr[0]="rrr" 
    function startX(){
     //intX= setInterval(func("rrr"),500) 这种方法是错误的。如果需要调用带参数的函数,直接使用func("rrr")会在第一次加载后,提示参数无效
     intX= setInterval(function(){func.apply(this,arr)},500) //apply参数问题请查资料
    	function func(a){
    		var dT = document.getElementById("oDiv_showCurrTime");
    		var dTime = new Date();
    		dT.innerHTML = a + dTime.toLocaleTimeString()
    	}
    }
    function stopX(){
    	window.clearInterval(intX) //注意!如果var intX定义在startX内,则无法清除!
    }
    </script>
    
       
    

      

  • 相关阅读:
    用C#做成的程序如何打包部署,在其他PC机运行
    ZeroMQ——一个轻量级的消息通信组件 C#
    Google Protocol Buffers 快速入门(带生成C#源码的方法)
    【转】如何一直保持测试工作的热情
    【转】关于什么是测试专家的讨论
    释放对某端口的占用
    Android端手机测试体系
    【转】减少缺陷漏测的系统方法体系思考(10年经验的反思)
    【转】3种类型的测试专家之路选择
    【转】手机应用软件测试点汇总
  • 原文地址:https://www.cnblogs.com/hutuzhu/p/3523231.html
Copyright © 2011-2022 走看看