Menu

14. USAR O TIMER e DATE

É um método que permite a programação para que uma determinada acção só ocorra após o transcurso de um determinado tempo.

Variável = setTimeout ("ação", tempo)

Onde:

Variável é uma variável apenas para controle do timer

acção é a acção que se quer realizar.

tempo é o tempo de espera para que a acção ocorra, em milisegundos.

 

Obs.: é importante observar que a acção só ocorrerá uma vez. Para que a acção volte a ocorrer, será necessário repetir o comando dentro da acção, obtendo-se, assim, um LOOP.

Para interromper um LOOP, provocado pela forma acima, deve-se utilizar o seguinte método:

clearTimeout (Variável)

Onde:

Variável é o nome da variável de controle do timer.

 

Abaixo encontra-se um exemplo de um formulário que apresenta a data e hora actual, actualizando os dados a cada um segundo, tendo dois botões de rádio que tem a função de activar e desactivar a actualização dos dados. Apresenta também, fora do formulário, a data contendo dia e mês por extenso.

<script>

function Hoje() {

ContrRelogio = setTimeout ("Hoje()", 1000)

Hr = new Date()

dd = Hr.getDate()

mm = Hr.getMonth() + 1

aa = Hr.getYear()

hh = Hr.getHours()

min = Hr.getMinutes()

seg = Hr.getSeconds()

DataAtual = ((dd < 10) ? "0" + dd + "/" : dd + "/")

DataAtual += ((mm < 10) ? "0" + mm + "/" + aa : mm + "/" + aa)

HoraAtual = ((hh < 10) ? "0" + hh + ":" : hh + ":")

HoraAtual += ((min < 10) ? "0" + min + ":" : min + ":")

HoraAtual += ((seg < 10) ? "0" + seg : seg)

document.DataHora.Data.value=DataAtual

document.DataHora.Hora.value=HoraAtual

}

//

function CriaArray (n) {

this.length = n }

//

NomeDia = new CriaArray(7)

NomeDia[0] = "Domingo"

NomeDia[1] = "Segunda"

NomeDia[2] = "Terça"

NomeDia[3] = "Quarta"

NomeDia[4] = "Quinta"

NomeDia[5] = "Sexta"

NomeDia[6] = "Sábado"

//

NomeMes = new CriaArray(12)

NomeMes[0] = "Janeiro"

NomeMes[1] = "Fevereiro"

NomeMes[2] = "Março"

NomeMes[3] = "Abril"

NomeMes[4] = "Maio"

NomeMes[5] = "Junho"

NomeMes[6] = "Julho"

NomeMes[7] = "Agosto"

NomeMes[8] = "Setembro"

NomeMes[9] = "Outubro"

NomeMes[10] = "Novembro"

NomeMes[11] = "Dezembro"

//

Data1 = new Date()

dia = Data1.getDate()

dias = Data1.getDay()

mes = Data1.getMonth()

ano = Data1.getYear()

document.write ("Recife, " + NomeDia[dias] + " " + dia + " de " + NomeMes[mes] + " de " + (ano + 1900 ) )

</script>

<form name="DataHora">

Data :<input type=text size=10 maxlength=10 name="Data">

Hora : <input type=text size=10 maxlength=10 name="Hora">

<input type=radio name="Botao" value="Para Relogio" checked

onclick="clearTimeout(ContrRelogio)">Desativa

<input type=radio name="Botao" value="Ativa Relogio"

onclick="ContrRelogio = setTimeout(‘Hoje()’, 1000)">Ativa

</form>

CDs
VOLTAR