Výukový pes pro slyšící pes - setTimeout ()
V předchozím článku jsem zahájil iterativní vývoj malého programu JavaScript, který má pomáhat při výcviku psa, který provádí zvuková upozornění. Program, který si zde můžete prohlédnout, obsahuje dosud nastavené tlačítko poplachu, které po stisknutí vyvolá upozornění, že poplach zmizel (přestože zvukový poplach ještě není nakonfigurován.) Jako další krok jsme budou ve skutečnosti nastavovat čekací dobu mezi stisknutím tlačítka "nastavit budík" a poplachem, jako je, zhasne.

JavaScript a Document Object Model (DOM), mají spoustu obsluhy událostí, aby počkali, až se něco stane (tj. při kliknutí, onMouseOver, ...); v tomto případě však chceme počkat, než uplyne čas, DOM poskytuje metodu, jak to také provést setTimeout (). setTimeout () vyžaduje dva argumenty, část kódu nebo funkci, která se má spustit, a čas, který je třeba vyčkat v milisekundách, než se spustí. set_timeout () může také použít volitelnou třetí možnost označující použitý skriptovací jazyk - JavaScript, JScript nebo VBScript (toto je část DOM, ne JavaScript, pamatujte.)

Náš nový kód vypadá takto:


function do_alarm () {
// určete čas čekání v sekundách
wait_secs = 52; // prozatím to definujte
// počkejte, až čas vyprší a zvukový alarm
setTimeout (sound_alarm (), (wait_secs * 1000))
}


Funguje to skvěle, ale je těžké to říct, protože po stisknutí tlačítka se nic nezmění, dokud neuplyne čas. DOM nám s tím však také může pomoci. Přidal jsem následující 2 řádky na začátek do_alarm () funkce:


// označí alarm jako nastavený
document.getElementById ("alarm_button"). disabled = true
document.getElementById ("alarm_button"). value = "Alarm Set"


Tím se změní tlačítko, které jsme stiskli, aby se alarm nastavil na „Alarm Set“ a deaktivoval se. Pokud chceme, aby byl alarm znovu použit, musíme tlačítko změnit zpět do původního stavu. Přidal jsem to do funkce sound_alarm (). Zde si můžete zobrazit celý kód a vyzkoušet si příklad z práce.


Video Návody: Sady piktogramů po 20 ks Piktomag. Vizuální komunikace - Jídlo a Volný čas. (Smět 2024).