js中的計時器事件`setTimeout()` 和 `setInterval()`


js中的計時器事件

在js中,通常會有一些事件,我們需要讓它 間隔一段時間之后再發生,或者 每隔一段時間 發生一次,那就需要用到我們js中的計時事件

計時事件主要有兩種:

  • setTimeout() ---- 間隔一定的時間之后執行
  • setInterval() ----每間隔一定的時間執行一次(重復性執行)

setTimeout()

間隔一定的時間之后`執行指定的語句或函數。
例如:3s后跳轉到前一個頁面。

<script type="text/javascript">
    setTimeout(function(){
            window.history.back();
    },3000);
</script>

也可以采用調用函數的方式

function fn1(){
			console.log("你好");
		}
		setTimeout(fn1,3000);

需要注意的是,我們在上述代碼中調用函數時調用的整個函數體,而不是函數執行后的結果fn1()

setInterval()

每隔一段時間執行一次指定的語句或函數,是個重復性的操作。
實例1:每隔3s打印一次“hello”

<script type="text/javascript">
    setTimeout(function(){
           console.log("hello");
    },3000);
</script>

實例2:顯示當前時間,通過按鈕實現時間的停止,開始

<body>
    <h4 id="demo"></h4>
    <input type="button" onclick="startTimer()" value="開始">
    <input type="button" onclick="stopTimer()" value="停止">
</body>
<script type="text/javascript">
    var myVar;
    function startTimer(){ 
        /*setInterval() 間隔指定的毫秒數不停地執行指定的代碼*/
        myVar=setInterval(function(){myTimer()},1000);
        }
    function myTimer()/* 定義一個得到本地時間的函數*/
    {
    var d=new Date();
    var t=d.toLocaleTimeString();
    document.getElementById("demo").innerHTML=t;
    }
    function stopTimer()
    {/* clearInterval() 方法用於停止 setInterval() 方法執行的函數代碼*/
    clearInterval(myVar);
    }
    </script>

如何執行停止呢?

clearInterval() 方法用於停止 setInterval() 方法執行的函數代碼.
clearTimeout() 方法用於停止執行setTimeout()方法的函數代碼。
這里注意myVar必須是一個全局變量。實例如下:

var myVar;
    function myFunction()
    {
    myVar=setTimeout(function(){alert("Hello")},3000);
    }

    function myStopFunction()
    {
    clearTimeout(myVar);
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM