Hearing Dog Training Tool - setTimeout ()
I en tidligere artikkel startet jeg den iterative utviklingen av et lite JavaScript-program for å hjelpe deg med å trene en hund til å gjøre lydvarsler. Så langt inkluderer programmet, som du kan se her, en innstilt alarmknapp som når du trykker på, dukker opp et varsel om at alarmen har gått (selv om den hørbare alarmen ennå ikke er konfigurert.) Som neste trinn, vi skal faktisk stille ventetiden mellom å trykke på "sett alarm" -knappen og alarmen, som den er, går av.

JavaScript og Document Object Model (DOM), har en gjeng hendelsesbehandlere til å vente på at noe skal skje (dvs. ved trykk, onMouseOver, ...); men i dette tilfellet ønsker vi å vente på at det går litt tid, DOM gir en metode for å gjøre dette også setTimeout (). setTimeout () krever to argumenter, et stykke kode eller en funksjon som skal kjøres og tiden for å vente i millisekunder før du kjører den. set_timeout () kan også ta et valgfritt tredje alternativ som angir skriptspråket som brukes - JavaScript, JScript eller VBScript (dette er en del av DOM, ikke JavaScript, husk.)

Vår nye kode ser slik ut:


funksjon do_alarm () {
// bestemme tid for å vente i sekunder
wait_secs = 52; // foreløpig er det bare å definere det
// vent til tiden er oppe og lydalarmen
setTimeout (sound_alarm (), (wait_secs * 1000))
}


Dette fungerer utmerket, men det er vanskelig å si, fordi ingenting endres etter at du trykker på knappen før tiden er inne. Imidlertid kan DOM hjelpe oss med dette også. Jeg la følgende to linjer til begynnelsen av do_alarm () funksjon:


// merk alarm som angitt
document.getElementById ( "alarm_button"). disabled = sant
document.getElementById ("alarm_button"). value = "Alarm Set"


Dette endrer knappen vi trykket for å stille alarmen til å si "Alarm Set" og deaktiverer den. Hvis vi ønsker å kunne bruke alarmen igjen, må vi endre knappen tilbake til den opprinnelige tilstanden. Jeg la dette til sound_alarm () -funksjonen. Du kan se all koden og prøve ut et fungerende eksempel her.


Video Instruksjoner: How to Stop Your Puppy From Biting (Kan 2024).