返回值:返回一個 ID(數字),能夠將這個ID傳遞給 clearTimeout() 來取消執行。
html
案例: 點擊按鈕開始,中止時間顯示函數
<div onclick="startStop()" style="width:100px;height: 20px; line-height: 20px; background:red;text-align: center; color:#fff">button</div>
let timer=null function showtime(){ let date=new Date() let year=date.getFullYear() let month=date.getMonth()+1 let day=date.getDate() let hour=date.getHours() let Minutes=date.getMinutes() let seconds=date.getSeconds() let dataTime=`${year}-${month}-${day} ${hour}:${Minutes>=10 ? Minutes : '0'+Minutes}:${seconds>=10 ? seconds :'0'+seconds }` console.log(dataTime) // 2019-4-29 16:02:50 timer=window.setTimeout(showtime,10000) } function startStop(){ console.log('timer',timer) if(timer){ clearTimeout(timer) timer=null console.log('1') }else{ console.log('2') showtime() } }
setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。由 setInterval() 返回的 ID 值可用做 clearInterval() 方法的參數。
code
案例: 顯示當前時間htm
<p>顯示當前時間:</p> <p id="demo"></p> <button onclick="myStopFunction()">中止時間</button>
var myVar = setInterval(function(){ myTimer() }, 1000); function myTimer() { var d = new Date(); var t = d.toLocaleTimeString(); document.getElementById("demo").innerHTML = t; } function myStopFunction() { clearInterval(myVar); }
參考資料
https://www.runoob.com/jsref/met-win-setinterval.htmlblog