setTimeout 和 setInterval 的區別

來源:互聯網
上載者:User
window對象有兩個主要的定時方法,分別是setTimeout 和 setInteval  他們的文法基本上相同,但是完成的功能取有區別。

  setTimeout方法是定時程式,也就是在什麼時間以後幹什麼。幹完了就拉倒。

  setInterval方法則是表示間隔一定時間反覆執行某操作。

  如果用setTimeout實現setInerval的功能,就需要在執行的程式中再定時調用自己才行。如果要清除計數器需要 根據使用的方法不同,調用不同的清除方法:

例如:tttt=setTimeout('northsnow()',1000);

clearTimeout(tttt);

或者:

tttt=setInterval('northsnow()',1000);

clearInteval(tttt);

舉一個例子:
  < div  id ="liujincai" ></ div >
< input  type ="button"  name ="start"  value ="start"  onclick ='startShow();' >
< input  type ="button"  name ="stop"  value ="stop"  onclick ="stop();" >
< script  language ="JAVAscript" > ...
   var intvalue=1;
   var timer2=null;
   function startShow()
   ...{
      liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();
      timer2=window.setTimeout("startShow()",2000);
   }
   function stop()
   ...{
      window.clearTimeout(timer2);
   }
</ script >

或者:

  < div  id ="liujincai" ></ div >
< input  type ="button"  name ="start"  value ="start"  onclick ='timer2=window.setInterval("startShow()",2000);//startShow();' >
< input  type ="button"  name ="stop"  value ="stop"  onclick ="stop();" >
< script  language ="Javascript" > ...
   var intvalue=1;
   var timer2=null;
   function startShow()
   ...{
      liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();
   }
   function stop()
   ...{
      window.clearInterval(timer2);
   }
</ script >  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.