Jak poprawnie użyć setInterval i clearInterval, aby przełączać się między dwiema różnymi funkcjami?
W praktyce próbuję wyświetlić liczbę, która zwiększa się od 0 do 9, a następnie zmniejsza się z 9 - 0 i nieskończenie się powtarza.
Kod, który jak dotąd wydaje mi się bliski, ale po drugiej iteracjisetInterval
wywołania moich 2 odpowiednich funkcjicountUp
icountDown
wydają się być ze sobą sprzeczne, ponieważ wyświetlane liczby nie liczą się w zamierzonej kolejności ... a następnie przeglądarka ulega awarii.
Oto mój kod:
<code><!DOCTYPE html> <html> <head> <title>Algorithm Test</title> </head> <body onload = "onloadFunctions();"> <script type = "text/javascript"> function onloadFunctions() { countUp(); setInterval(countUp, 200); } var count = 0; function countUp() { document.getElementById("here").innerHTML = count; count++; if(count == 10) { clearInterval(this); countDown(); setInterval(countDown, 200); } } function countDown() { document.getElementById("here").innerHTML = count; count--; if(count == 0) { clearInterval(this); countUp(); setInterval(countUp, 200); } } </script> From 0 - 9, up and down: <div id = "here"></div> </body> </html> </code>