###実現したいこと
スタートボタンを押すとカウントダウンが始まる。
###現象
スタートボタンを押してもカウントダウンされない。
デベロッパーツールで確認しましたが、エラーはありませんでした。
###ソースコード
html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>カウント</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="container"> <p>残り時間:<span id="timer"></span></p> </div> <a href="" id="start" class="inactive">スタート</a> </div> <script src="main.js"></script> </body> </html>
css
#start { text-decoration: none; display: block; background: gray; color: #fff; height: 40px; border-radius: 20px; line-height: 40px; text-align: center; font-size: 18px; margin-top: 15px; box-shadow: 0 5px 0 rgba(0, 0, 0, 0.2); width: 300px; }
js
var timer; var timerLabel = document.getElementById("timer"); var timerId; var startLabel = document.getElementById("start"); function init() { timer = 3; timerLabel.innerHTML = timer; } init(); function updateTimer(){ timerId = setTimeout(function(){ timer--; timerLabel.innerHTML = timer; if (timer < 0) { alert("Time Up"); clearTimeout(timerId); init(); return; } updateTimer(); },1000); } startLabel.addEventListener("click", function(){ updateTimer(); });
###ブラウザの表示
https://i.gyazo.com/6eb47da175ea4ccefcde0cbd2394f99c.png
因みにstartLabelをwindowに書き換えれば、スタートボタン含め、どこかしらの画面をクリックするとカウントダウンが始まります。
startLabel.addEventListener("click", function(){ updateTimer(); });
window.addEventListener("click", function(){ updateTimer(); });
うーん、原因が分かる方いらっしゃいましたら、ご回答お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/30 10:36
2017/11/30 10:45
2017/11/30 11:13
2017/11/30 11:20