JavascriptでsetTimeoutを使いたい

クリックすると数秒後に関数が実行され、その秒数が立つ前にもう一度クリックすると関数がキャンセルされるようなコードを作りたいです。

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 コメント