js 點擊新增時間

js 點擊重新新增時間

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<button class="addBtn">Add</button>
<h1 class="countdownTitle">點擊新增分鐘</h1>
<!-- 顯示預計回來的時間 -->
<p class="newTimeStemp"></p>

<script>
//綁定標題
const countdownClockTitle = document.querySelector(".countdownTitle");
//顯示預計回來的時間
const newTimeStemp = document.querySelector(".newTimeStemp");
//綁定點擊按鈕
const addBtn = document.querySelector(".addBtn");
//定義countdown
let countdown;
// 時間的換算
const showTimer = (inputSeconds) => {
const minutes = Math.floor(inputSeconds / 60);//除以60取整數
const remainderSeconds = inputSeconds % 60;//除以60取余數
//塞進去畫面
countdownClockTitle.textContent = `
${minutes}:${remainderSeconds < 10
? "0" + remainderSeconds
: remainderSeconds}
`;
}
//顯示時間
const showTimeStemp = (done) => {
const newTime = new Date(done);
const hours = newTime.getHours();
const minutes = newTime.getMinutes();
newTimeStemp.textContent = `
點擊時間 ${hours}:${minutes}
`
}
const timer =(inputSeconds) => {
console.log('timer()',inputSeconds)
const now = Date.now();
const done = now + inputSeconds * 1000;
showTimer(inputSeconds);
showTimeStemp(done);
// 倒數計時
countdown = setInterval(()=>{
const tiemleft = Math.round((done-Date.now())/ 1000);
if(tiemleft<= 0){
clearInterval(countdown);
return
}
showTimer(tiemleft)
}, 1000)
}

const handleAddBtn = ()=> {
// 清除倒數計時
clearInterval(countdown); // clear countdown
// 綁定表單
const timerInput = Number(1800);
// timerInput.value=1800;
if(timerInput > 0){
// console.log(timerInput.value)
timer(timerInput)
}

}
addBtn.addEventListener("click", handleAddBtn)
</script>
### js setInterval 的應用