前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
関数の中での実行順序について。
var n = 0; function countSecond() { n++; document.getElementById("sample1").innerHTML = n+"回目の2秒が経過しました。"; countUp(); function countUp() { if (n > 3) { clearTimeout(); document.getElementById("sample1").innerHTML = "お知らせを終了します。"; } else { setTimeout('countSecond()',2000); }
countSecondの中の処理なのですが、
n++ → sample1の文面変更 → countUPの実行という順だと思うのですが、
処理が終了されるのはn=4となってcountUpが
実行される時だと思うので、
4回目の〜〜という表示までされるべきだと思うのですが、
N=3まででの処理で終わってしまいました。
私の考えている処理の順番が違うということなのでしょうか?
エラーメッセージ
該当のソースコード
javascript ソースコード <script> var n = 0; function countSecond() { n++; document.getElementById("sample1").innerHTML = n+"回目の2秒が経過しました。"; countUp(); function countUp() { if (n === 3) { clearTimeout(); document.getElementById("sample1").innerHTML = "お知らせを終了します。"; } else { setTimeout('countSecond()',2000); } } } </script> <div id="sample1"> <button onclick="setTimeout('countSecond()',2000)">2秒ごとに3回お知らせします</button> </div>
試したこと
ここに問題に対して試したことを記載してください。
if===3などとしてみて結果がどうなるか考察してみたりした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/05 10:57
2019/04/05 11:01
2019/04/05 11:02
2019/04/05 11:17
2019/04/05 11:25
2019/04/05 11:27
2019/04/05 16:06