Ακουστικό εργαλείο εκπαίδευσης ακοής - setTimeout ()
Σε ένα προηγούμενο άρθρο, ξεκίνησα την επαναληπτική ανάπτυξη ενός μικρού προγράμματος JavaScript για να βοηθήσω στην κατάρτιση ενός σκύλου να κάνει ηχητικές ειδοποιήσεις. Μέχρι στιγμής, το πρόγραμμα, το οποίο μπορείτε να δείτε εδώ, περιλαμβάνει ένα καθορισμένο κουμπί συναγερμού το οποίο, όταν πιεστεί, εμφανίζει μια ειδοποίηση που δηλώνει ότι ο συναγερμός έχει σβήσει (αν και ο ηχητικός συναγερμός δεν έχει ρυθμιστεί ακόμα.) Ως το επόμενο βήμα, εμείς πρόκειται πραγματικά να ρυθμίσετε την αναμονή ανάμεσα στο πάτημα του πλήκτρου "set alarm" και του ξυπνητηριού, όπως συμβαίνει.

JavaScript και το μοντέλο αντικειμένου εγγράφου (DOM), έχουν μια δέσμη χειριστών συμβάντων για να περιμένουν κάτι να συμβεί (δηλ. στο κλικ, onMouseOver, ...); Ωστόσο, σε αυτήν την περίπτωση, θέλουμε να περιμένουμε για ένα χρονικό διάστημα για να περάσει, το DOM παρέχει μια μέθοδο για να γίνει αυτό επίσης setTimeout (). setTimeout () απαιτεί δύο επιχειρήματα, ένα κομμάτι κώδικα ή μια λειτουργία που πρέπει να εκτελεστεί και ο χρόνος να περιμένει μέσα σε χιλιοστά του δευτερολέπτου πριν την εκτέλεση. set_timeout () μπορεί επίσης να πάρει μια προαιρετική τρίτη επιλογή που καθορίζει τη γλώσσα δέσμης ενεργειών που χρησιμοποιείται - JavaScript, JScript ή VBScript (αυτό είναι μέρος του DOM, όχι JavaScript, θυμηθείτε.)

Ο νέος μας κώδικας μοιάζει με τους εξής:


λειτουργία do_alarm () {
// καθορίστε το χρόνο για να περιμένετε σε δευτερόλεπτα
wait_secs = 52; // για τώρα, απλώς το ορίστε
// περιμένετε να συνεχιστεί η ώρα και ηχητική ειδοποίηση
setTimeout (sound_alarm (), (wait_secs * 1000))
}


Αυτό λειτουργεί πολύ, αλλά είναι δύσκολο να το πω, γιατί τίποτα δεν αλλάζει αφού πατήσετε το κουμπί μέχρι να αυξηθεί ο χρόνος. Ωστόσο, το DOM μπορεί να μας βοηθήσει και με αυτό. Πρόσθεσα τις ακόλουθες 2 γραμμές στην αρχή του do_alarm () λειτουργία:


// επισημάνετε συναγερμό όπως έχει ρυθμιστεί
document.getElementById ("alarm_button") disabled = true
document.getElementById ("alarm_button") value = "Σύνολο συναγερμών"


Αυτό αλλάζει το κουμπί που πιέσαμε για να ρυθμίσει το ξυπνητήρι να λέει "Alarm Set" και να το απενεργοποιεί. Αν θέλουμε να μπορέσουμε ξανά να χρησιμοποιήσουμε τον συναγερμό, θα πρέπει να αλλάξουμε το κουμπί πίσω στην αρχική του κατάσταση. Πρόσθεσα αυτό στη λειτουργία sound_alarm (). Μπορείτε να δείτε όλο τον κώδικα και να δοκιμάσετε ένα παράδειγμα εργασίας εδώ.


Οδηγίες Βίντεο: Ex Illuminati Druid on the Occult Power of Music w William Schnoebelen & David Carrico NYSTV (Ενδέχεται 2024).