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