Ferramenta de treinamento para cães ouvintes - setTimeout ()
Em um artigo anterior, iniciei o desenvolvimento iterativo de um pequeno programa JavaScript para ajudar no treinamento de um cão para fazer alertas sonoros. Até agora, o programa, que você pode ver aqui, inclui um botão de alarme definido que, quando pressionado, exibe um alerta informando que o alarme disparou (embora o alarme sonoro ainda não esteja configurado.) Como próximo passo, realmente definirá a espera entre pressionar o botão "definir alarme" e o alarme, como está, disparando.

O JavaScript e o DOM (Document Object Model) têm vários manipuladores de eventos para aguardar que algo aconteça (ou seja, onClick, onMouseOver, ...); No entanto, nesse caso, queremos esperar uma quantidade de tempo passar, o DOM fornece um método para fazer isso também setTimeout (). setTimeout () requer dois argumentos, um pedaço de código ou uma função para executar e o tempo de espera em milissegundos antes de executá-lo. set_timeout () também pode usar uma terceira opção opcional que designa a linguagem de script usada - JavaScript, JScript ou VBScript (isso faz parte do DOM, não do JavaScript, lembre-se).

Nosso novo código é semelhante ao seguinte:


função do_alarm () {
// determina o tempo de espera em segundos
wait_secs = 52; // por enquanto, apenas defina
// aguarde a hora de acordar e toque o alarme
setTimeout (sound_alarm (), (wait_secs * 1000))
}


Isso funciona muito bem, mas é difícil dizer, porque nada muda depois que você pressiona o botão até o tempo acabar. No entanto, o DOM também pode nos ajudar com isso. Eu adicionei as 2 linhas a seguir no início do do_alarm () função:


// marca o alarme como definido
document.getElementById ("alarm_button"). disabled = true
document.getElementById ("alarm_button"). value = "Alarme definido"


Isso muda o botão que pressionamos para definir o alarme para dizer "Alarm Set" e o desativa. Se quisermos usar o alarme novamente, teremos que mudar o botão novamente para o estado original. Eu adicionei isso à função sound_alarm (). Você pode ver todo o código e experimentar um exemplo de trabalho aqui.


Instruções De Vídeo: Instagram e Youtube para a engenharia (Pode 2024).