İşitme Köpeği Eğitim Aracı - setTimeout ()
Önceki bir makalede, bir köpeği sesli uyarılar yapmak için eğitmeye yardımcı olmak için küçük bir JavaScript programının yinelemeli gelişimini başlattım. Şimdiye kadar, burada görüntüleyebileceğiniz program, basıldığında, alarmın çaldığını belirten bir uyarı veren bir sesli alarm düğmesi içerir (sesli alarm henüz yapılandırılmamasına rağmen). Bir sonraki adım olarak, "alarmı kur" düğmesine basmak ile alarmın kapanması gibi bir bekleme süresi ayarlayacaktır.

JavaScript ve Belge Nesne Modeli (DOM), bir şey olmasını beklemek için bir grup olay işleyiciye sahiptir (ör. tıklamada, onMouseOver, ...); ancak bu durumda, geçmek için bir süre beklemek istiyoruz, DOM bunu yapmak için de bir yöntem sunuyor setTimeout (). setTimeout () iki bağımsız değişken, bir kod parçası veya çalıştırılacak bir işlev ve çalıştırmadan önce milisaniye olarak beklenecek süre gerektirir. set_timeout () JavaScript, JScript veya VBScript (bu JavaScript'in değil, DOM'un bir parçasıdır, unutmayın).

Yeni kodumuz aşağıdaki gibidir:


işlev do_alarm () {
// saniye cinsinden beklenecek süreyi belirleyin
wait_secs = 52; // şimdilik tanımlayın
// uyanmak için bekleyin ve sesli alarm
setTimeout (sound_alarm (), (wait_secs * 1000))
}


Bu harika çalışıyor, ancak söylemek zor, çünkü zaman geçene kadar düğmeye bastıktan sonra hiçbir şey değişmiyor. Ancak, DOM bize bu konuda da yardımcı olabilir. Aşağıdaki 2 satırı ekranın başına ekledim. do_alarm () fonksiyon:


// alarmı ayarlanmış olarak işaretle
document.getElementById ( "alarm_button"). Özürlü = true
document.getElementById ("alarm_button"). value = "Alarm Seti"


Bu, alarmı "Alarm Seti" diyecek şekilde ayarlamak için ittiğimiz düğmeyi değiştirir ve devre dışı bırakır. Alarmı tekrar kullanabilmek istiyorsak, düğmeyi orijinal durumuna geri döndürmeliyiz. Bunu sound_alarm () işlevine ekledim. Tüm kodu görüntüleyebilir ve burada çalışan bir örneği deneyebilirsiniz.


Video Talimatları: Privacy, Security, Society - Computer Science for Business Leaders 2016 (Mayıs Ayı 2024).