Διακοπή του χρονόμετρου JavaScript
Γνωρίζετε ήδη πώς να ξεκινήσετε ένα χρονόμετρο, ας
μάθουμε τώρα πώς να το σταματάμε. Για αυτό
πρέπει να γνωρίζετε ότι κάθε χρονόμετρο
που ξεκινά με τη συνάρτηση setInterval
έχει έναν μοναδικό αριθμό. Αυτόν τον αριθμό επιστρέφει
η συνάρτηση setInterval τη στιγμή της εκκίνησης
του χρονομέτρου:
let timerId = setInterval(function() {
console.log('!')
}, 1000);
alert(timerId); // θα εμφανίσει τον αριθμό του χρονομέτρου
Για τη διακοπή του χρονομέτρου χρησιμοποιείται η συνάρτηση
clearInterval, η οποία δέχεται τον μοναδικό
αριθμό του χρονομέτρου που θέλετε να σταματήσετε.
Για παράδειγμα, ας ξεκινήσουμε ένα χρονόμετρο που εμφανίζει
στην κονσόλα αριθμούς σε αύξουσα σειρά, ξεκινώντας από
τον 1. Ας σταματήσουμε το χρονόμετρο, μόλις
εμφανιστεί στον οθόνη ο αριθμός 10:
let i = 0;
let timerId = setInterval(function() {
console.log(++i);
if (i >= 10) {
clearInterval(timerId);
}
}, 1000);
Ας υποθέσουμε ότι δίνεται μια μεταβλητή, στην οποία αρχικά
αποθηκεύεται ο αριθμός 10. Ξεκινήστε ένα χρονόμετρο,
που κάθε δευτερόλεπτο θα μειώνει την τιμή
αυτής της μεταβλητής κατά 1 και θα εμφανίζει αυτήν την
τιμή στην κονσόλα. Μόλις η τιμή της μεταβλητής
φτάσει το μηδέν - σταματήστε το χρονόμετρο.