Hearing Dog Training Tool - setTimeout ()
I en tidigare artikel började jag den iterativa utvecklingen av ett litet JavaScript-program för att hjälpa till att träna en hund att göra ljudvarningar. Hittills innehåller programmet, som du kan visa här, en inställd larmknapp som, när den trycks ner, visar en varning om att larmet har gått av (även om det hörbara larmet ännu inte är konfigurerat.) Som nästa steg, vi kommer att faktiskt ställa in väntan mellan att trycka på "ställa in larm" -knappen och larmet, som det är, att stänga av.

JavaScript och Document Object Model (DOM), har ett gäng händelseshanterare att vänta på att något ska hända (dvs. onClick, onMouseOver, ...); Men i det här fallet vill vi vänta på att det går längre, DOM tillhandahåller en metod för att göra det också setTimeout (). setTimeout () kräver två argument, en kodkod eller en funktion att köra och tiden att vänta i millisekunder innan den körs. set_timeout () kan också ta ett valfritt tredje alternativ som anger skriptspråket som används - JavaScript, JScript eller VBScript (detta är en del av DOM, inte JavaScript, kom ihåg.)

Vår nya kod ser ut enligt följande:


funktion do_alarm () {
// bestäm tid för att vänta i sekunder
wait_secs = 52; // för nu, bara definiera det
// vänta tills tiden är uppe och ljudlarm
setTimeout (sound_alarm (), (wait_secs * 1000))
}


Det här fungerar bra, men det är svårt att se, för ingenting ändras när du trycker på knappen tills tiden är slut. DOM kan dock hjälpa oss också med detta. Jag lade till följande två rader till början av do_alarm () fungera:


// markera larm som inställt
document.getElementById ( "alarm_button"). inaktiverad = true
document.getElementById ("alarm_button"). value = "Alarm Set"


Detta ändrar knappen vi tryckte för att ställa in larmet så att det säger "Alarm Set" och inaktiverar det. Om vi ​​vill kunna använda larmet igen måste vi ändra knappen tillbaka till sitt ursprungliga tillstånd. Jag lade till detta till funktionen sound_alarm (). Du kan se all koden och prova ett fungerande exempel här.


Video Instruktioner: How to Stop Your Puppy From Biting (Maj 2024).