A-A+
js中setinterval()用法
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
setinterval()用法:
setInterval(code,millisec[,"lang"])
后面就两个参数code是你的js代码,millisec为时间间隔,以毫秒计.
下面举一个简单的例子。
例1,代码如下:
- function show(){ trace("每隔一秒我就会显示一次");}
- var sh;sh=setInterval(show,1000);
- clearInterval(sh);
例2,代码如下:
- <form>
- <input type="text" id="clock" size="35" />
- <script language=javascript>
- var int=self.setInterval("clock()",50)
- function clock(){var t=new Date()
- document.getElementById("clock").value=t
- }
- </script>
- </form>
- <div id="clock"></div>
- <button onclick="int=window.clearInterval(int)">Stop interval</button>
关于setInterval()函数的一些细节问题,代码如下:
- function timer(){
- this.timemove=function(){var timenow=0;
- setInterval(timepp(),1000);
- function timepp(){ alert("1");}
- //xiariboke.net
- }
- }
- var T=new timer();
- T.timemove();
这段代码怎么只能运行一次然后显示参数无效;
下面的就可以正常,代码如下:
- function timer(){
- this.timemove=function(){var timenow=0;
- setInterval(function(){ timenow++;alert(timenow);},1);
- }
- }
- var T=new timer();
- T.timemove();
有些朋友还像js中的setTimeout一样的写法,这样可能会有错误,我们可以如下操作,代码如下:
- setInterval(timepp(),1000);改成setInterval(”timepp“,1000);或setInterval(”timepp()“,1000);
你的setInterval的第一个参数传入错误!!!
他要求的是执行语句或者函数体,你可以理解一下setInterval的内部执行,代码如下:
- function setInterval(fn,sec){
- if(typeof fn == 'function'){
- fn();
- } //xiariboke.net
- else{
- new Function(fn.toString())();
- }
- //code
- }
注意了,这些简单讲述一下setInterval("function",time) //设置一个超时对象,SetInterval为自动重复执行。