|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Relógio DHTML, com Javascript e camadasCriamos um relógio dinâmico em uma página web utilizando DHTML. O relógio se mostra em uma camada independente, que se atualiza a cada segundo com Javascript compatível para todos os navegadores. Vamos realizar um relógio dinâmico para incluí-lo em uma página web, que mostra as horas, minutos e segundos como um texto em uma camada independente. Cada segundo que passa se atualiza o texto da camada, utilizando Javascript, para criar um efeito de relógio digital DHTML.
É um efeito DHTML simples de realizar. Por um lado, necessitaremos calcular a hora atual com Javascript e por outro lado ser capazes de atualizar o texto de uma camada, para mudá-lo cada vez que passa um segundo e muda a hora atual.
O código HTML e CSS Para colocar o relógio em uma página utilizaremos uma camada independente. A camada, que se coloca em uma página web utilizando uma etiqueta <DIV>, se poderá situar no lugar onde desejarmos que apareça o relógio. O estilo do relógio pode alterado como desejarmos, simplesmente mudando a declaração CSS associada à camada onde se coloque o relógio. <div id="camadarelogio" style="font-size:8pt; color:#cc3333; font-family:verdana,arial,helvetica; font-weight:bold;"> </div> Como vemos, à princípio não se inclui nenhum texto na camada do relógio. Dentro deveria se situar a hora atual, porém como essa hora não a sabemos à princípio, antes devemos calculá-la mediante Javascript, mas isso o veremos a seguir. Javascript para o cálculo da hora atual Este pedaço de código é praticamente igual ao que havíamos utilizado no artigo Relógio com Javascript, onde também ficou comentado. function moveRelogio(){ momentoAtual = new Date() hora = momentoAtual.getHours() if (hora<10) hora = "0" + hora minuto = momentoAtual.getMinutes() if (minuto<10) minuto = "0" + minuto segundo = momentoAtual.getSeconds() if (segundo<10) segundo = "0" + segundo horaImprimivel = hora + " : " + minuto + " : " + segundo mudaTexto(horaImprimivel) setTimeout("moveRelogio()",1000) } O código anterior mostra a implementação da função moveRelogio(), que se encarrega de calcular a hora atual e atualizar a camada do relógio. Simplesmente se calcula a hora atual utilizando a classe Date() de Javascript. Extraem-se os segundos, minutos e horas (agregando um zero à esquerda em caso de que estes sejam menores que 10, para que uma hora como 1:4:6 se mostre como 01:04:06, que é um formato mais habitual) Logo, muda-se o texto da camada, com a função mudaTexto(), que veremos mais adiante. Por último, se volta a chamar à função moveRelogio() com um atraso de 1000 milésimos de segundos (um segundo) para que se volva a atualizar o valor do relógio passado um segundo. Função para atualizar o texto de uma camada Agora veremos a função mudaTexto(), que se encarrega de atualizar o relógio. A função recebe o valor da nova hora, que tem que colocar como texto da camada do relógio. A mudança do texto de uma camada é uma tarefa que tem que ser feita com DHTML. function mudaTexto(novaHora){ xInnerHtml('camadarelogio',novaHora) } Simplesmente chamamos à função xInnerHtml(), que recebe o identificador da camada a atualizar (atributo id da etiqueta <div> onde estava o relógio) e a cadeia com a nova hora. xInnerHtml(), que se encarrega de mudar o texto da camada, é uma função das bibliotecas xLibrary, que são compatíveis com qualquer navegador. A biblioteca internamente averigua que navegador está executando o código e realiza as ações necessárias dependendo deste navegador. Funcionamento do relógio com o evento onload Para que o relógio comece a mostrar o instante atual (pois à princípio há que lembrar que o texto da camada do relógio estava vazio), se deve realizar uma chamada à função moveRelogio(). Esta função já se encarrega de mostrar a hora atual e chamar a si mesma a cada segundo, para continuar atualizando o valor mostrado pelo relógio. Vamos incorporar essa chamada inicial dentro do evento onload da etiqueta , que se executa quando a página tiver terminado de se carregar no navegador do visitante. <body onload="moveRelogio()"> Incluir a biblioteca xLibrary Por último, devemos incluir a biblioteca xLibrary no código deste exemplo, para que que se possa executar a página sem problemas já que faz uso de uma função desta biblioteca. As xLibrary são um jogo de funções bastante grande, porém com a ferramenta X Compiler pode-se gerar um arquivo a incluir mínimo para o correto funcionamento deste exemplo. Tudo em funcionamento Acabamos com um link para ver o exemplo em funcionamento.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Dentro de Workshop de Cross-Browser DHTML Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em DHTMLComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |