首頁 >web前端 >js教程 >Javascript計時器 - donghua-li的部落格 - CSDN博客

Javascript計時器 - donghua-li的部落格 - CSDN博客

一个新手
一个新手原創
2017-09-20 09:20:401424瀏覽

透過使用 JavaScript,我們有能力做到在一個設定的時間間隔之後來執行程式碼,而不是在函數被呼叫後立即執行。我們稱之為計時事件。 提供了兩個計時器的方法如下:

  1. window.setInterval(); 这个方法就是在一个周期内反复执行一直到窗口关闭或者 clearInterval()
    window.setTimeout(); 延迟执行内容

setInterval()的使用方法: 

setInterval(code,millisec); 
code:可以是方法名,如果是方法不要加小括号。同时也可以是字符串用双引号将方法括起来。setInterval(“setCode()”,1000);或者setInterval(setCode,1000); 
millisec:是毫秒数,就是隔了多久执行

程式碼如下:

 var p1 = document.getElementById("p");    
 var n = 0;    
 var data = ["4234","343440"];    
 var rows = 0;    
 var cols = 0;    
 function setCode(){
        if(cols < data[rows].length){
            p1.innerHTML += data[rows][cols];
            cols++;
        }else if(rows < data.length){
            p1.innerHTML += "</br>";
            rows++;
            cols = 0;
        }else {
            clearInterval(timer);
        }
    }    var timer = setInterval(setCode,500);

setTimeout和setInterval用法是一樣的。


那麼在計時器中能否傳遞參數呢?答案是不能的那麼怎麼辦呢,推薦使用匿名函數。

程式碼如下:

   var person = {name: "peng", age: 23};    
   function getPerson(person){
        alert(person.name);
    }    var timer = setInterval(function(){
        getPerson(person);
    },1000);

就是在定義定時器是在重新寫一個函數在函數裡面去呼叫方法。 
當然也可以直接將函數和參數用」「括起來 ,但是這樣不能週期性改變參數的值.

以上是Javascript計時器 - donghua-li的部落格 - CSDN博客的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn