前提・実現したいこと
JSで、setIntervalを使ってstartボタンを押すと、0から始まる数字が自動で1秒間隔で、1,2,3,4、.....と自動で数字が変わっていくようにしたい。
ここに質問の内容を詳しく書いてください。
(例)Javascriptでタイマーを作る練習をしています。まずは、単純に数字の0が1秒間隔で、1つずつ増えていくようなものを作ってみようと思いました。
startを押して、数字が増えていき、stopを押すと、その数字の増加が止まるようなものを作りたいです。
かなり、初歩的な質問だと思いますが、何時間もいろいろと試して解決しないため、質問をさせていただきました。よろしくお願いいたします。
発生している問題・エラーメッセージ
スタートを押しても、数字が変わっていかない。自分でスタートを押したときだけ、数字が変わる。
該当のソースコード
<head> <meta charset="UTF-8"> <title>要素の作成・追加</title> <script> var setIntervalId; var startFlag=true; var start_timer=function(){ if(startFlag===true){ setIntervalId=setInterval(count,1000); startFlag=false; } }</script> </head> <body> <body> <div id="timer">0</div> <button id="start">start</button> <button id="stop">stop</button> </body> </body> </html> ```ここに言語名を入力 Javascriptvar x=1; var count=function(){ var timer=document.getElementById('timer'); timer.innerHTML=x++; } var stopping=function(){ clearInterval(setInterval); startFlag=true; } window.onload=function(){ var start=document.getElementById('start'); start.addEventListener('click',count,false); var stop=document.getElementById('stop'); stop.addEventListener('click',stopping,false); }
試したこと
似たようなコードを見つけて、まねをしながら上記コードを書きました。うまくいきません。