Kuulmiskoera koolitusvahend - setTimeout ()
Eelmises artiklis alustasin väikese JavaScripti programmi korduvat väljatöötamist, mis aitab koera koolitamisel helisignaale tegema. Siiani sisaldab programm, mida saate siin vaadata, sisse seatud häirenuppu, mille vajutamisel ilmub häire, mis teatab, et alarm on kustunud (kuigi helisignaali pole veel konfigureeritud.) Järgmise sammuna hakkavad reaalselt seadma ootamise nupu "seatud äratus" vajutamise ja sellise äratuskella vahel, nagu see on.

JavaScriptil ja dokumendiobjekti mudelil (DOM) on hunnik sündmuste käitlejaid, et midagi oodata (s.o. onClick, onMouseOver, ...); aga sel juhul tahame oodata mõne aja möödumist, DOM pakub ka meetodi, kuidas seda teha setTimeout (). setTimeout () nõuab kaks argumenti, käivitamiseks kooditükki või funktsiooni ja enne selle käivitamist aega millisekundites. set_timeout () võib kasutada ka valikulist kolmandat võimalust kasutatava skriptikeele määramiseks - JavaScript, JScript või VBScript (see on DOM-i osa, mitte JavaScripti, pidage meeles.)

Meie uus kood näeb välja järgmine:


funktsioon do_alarm () {
// määrake sekundites ooteaeg
ooteaeg = 52; // praegu lihtsalt määratlege see
// oodake, kuni aeg üleval on ja helisignaal
setTimeout (helihäire (), (ootamise sekundid * 1000))
}


See töötab suurepäraselt, kuid seda on raske öelda, sest pärast nupu vajutamist, kuni aeg on käes, ei muutu midagi. Kuid ka DOM võib meid selles aidata. Lisasin järgmise 2 rea algusesse do_alarm () funktsioon:


// märku häire seadistatuks
document.getElementById ("alarm_button"). keelatud = tõene
document.getElementById ("alarm_button"). value = "Alarm Set"


See muudab nupu, millele vajutasime häire seadmiseks öelda "Alarmi komplekt", ja keelab selle. Kui tahame äratust uuesti kasutada, peame nupu tagasi algsesse olekusse tagasi viima. Lisasin selle funktsiooni sound_alarm (). Siin saate vaadata kogu koodi ja proovida toimivat näidet.