クリックすると数秒後に関数が実行され、その秒数が立つ前にもう一度クリックすると関数がキャンセルされるようなコードを作りたいです。
javascript
if (bool) { const timer = setTimeout(func, time);} else { clearTimeout(timer);}
(boolにはクリックするごとにtrueとfalseが反転しながら入ります。)
このコードはスコープの問題でうまく動きませんでした。
スコープの問題を解決した以下のコードを試してみましたが、うまく動きません。
javascript
let timer;if (bool) { timer = setTimeout(func, time);} else { clearTimeout(timer);}
どうすれば実装できますか。プログラミング初心者なので教えていただけると嬉しいです。
0 コメント