iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
自我挑戰組

認識JavaScript系列 第 18

[第十八天] 牛刀小試-倒數計時器

  • 分享至 

  • xImage
  •  
<html>
<head>
  <title>倒數計時器</title>
</head>
<body>
  <h1>倒數計時器</h1>
  <input type="number" id="inputTime" placeholder="請輸入秒數" min="1" />
  <button id="btnOK" onclick="start()">開始倒數</button>
  <div id=timer>在此顯示</div>
</body>
</html>

一樣的~陽春的畫面。

let timers;

function start(){
	const inputTime = document.getElementById('inputTime').value;
  let intTime = parseInt(inputTime);
  if (isNaN(intTime, 10) || intTime <= 0){
  	alert("輸入錯誤");
   	return;
  }
  
  clearInterval(timers);
  document.getElementById('timer').textContent = intTime;
  
  timers = setInterval(() => {
  	intTime--;
    document.getElementById('timer').textContent = intTime;
    
    if (intTime <= 0){
    	clearInterval(timers);
      alert("時間到");
      document.getElementById('timer').textContent = "在此顯示";
    }
  }, 1000);
}

解釋:
isNaN(): 判斷某數是不是NaN。
其實在input時,已經設定了number,所以isNaN很少有機會出馬。

clearInterval: 取消先前呼叫的定時重複操作。
讓畫面上的輸入框仍可繼續輸入。


上一篇
[第十七天] 牛刀小試-簡易計算機
下一篇
[第十九天] 試著解題 2618. Check if Object Instance of Class
系列文
認識JavaScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言