A-A+

js中setinterval()用法

2016年10月14日 web前端设计 暂无评论 阅读 6 views 次

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

setinterval()用法:

setInterval(code,millisec[,"lang"])

后面就两个参数code是你的js代码,millisec为时间间隔,以毫秒计.

下面举一个简单的例子。

例1,代码如下:

  1. function show(){ trace("每隔一秒我就会显示一次");}  
  2. var sh;sh=setInterval(show,1000);  
  3. clearInterval(sh);  

例2,代码如下:

  1. <form>  
  2. <input type="text" id="clock" size="35" />  
  3. <script language=javascript>  
  4. var int=self.setInterval("clock()",50)  
  5. function clock(){var t=new Date()  
  6. document.getElementById("clock").value=t  
  7. }  
  8. </script>  
  9. </form>  
  10. <div id="clock"></div>  
  11. <button onclick="int=window.clearInterval(int)">Stop interval</button>  

关于setInterval()函数的一些细节问题,代码如下:

  1. function timer(){   
  2. this.timemove=function(){var timenow=0;  
  3. setInterval(timepp(),1000);  
  4. function timepp(){ alert("1");}  
  5. //xiariboke.com  
  6. }  
  7. }  
  8. var T=new timer();  
  9. T.timemove();  

这段代码怎么只能运行一次然后显示参数无效;

下面的就可以正常,代码如下:

  1. function timer(){   
  2. this.timemove=function(){var timenow=0;  
  3. setInterval(function(){ timenow++;alert(timenow);},1);  
  4. }  
  5. }  
  6. var T=new timer();  
  7. T.timemove();  

有些朋友还像js中的setTimeout一样的写法,这样可能会有错误,我们可以如下操作,代码如下:

  1. setInterval(timepp(),1000);改成setInterval(”timepp“,1000);或setInterval(”timepp()“,1000);  

你的setInterval的第一个参数传入错误!!!

他要求的是执行语句或者函数体,你可以理解一下setInterval的内部执行,代码如下:

  1. function setInterval(fn,sec){  
  2.      if(typeof fn == 'function'){  
  3.           fn();  
  4.      } //xiariboke.com  
  5.     else{  
  6.          new Function(fn.toString())();  
  7.     }  
  8.     //code  
  9. }  

注意了,这些简单讲述一下setInterval("function",time) //设置一个超时对象,SetInterval为自动重复执行。

标签:

给我留言