Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de Cross-Browser DHTML
SEÇÕES
Manuais relacionados
+Workshop de Cross-Browser DHTML
Categorias
+DHTML

Índice do Manual Workshop de Cross-Browser DHTML
+ Cross-Browser. DHTML compatível com todos os navegadores.
+ X Library Compiler
+ Links dinâmicos em DHTML
+ Menu de navegação desdobrável I
+ Menu de navegação desdobrável II
+ Efeito DHTML cortina, para mostrar uma camada pouco a pouco
+ Apresentação de slides DHTML
+ Animação DHTML de texto em uma camada
+ Animação DHTML de texto, 2ª Parte
+ Pop-up DHTML para mostrar uma imagem
+ Melhorando o pop-up DHTML para mostrar uma imagem
+ Nova versão de Pop-up DHTML
+ Um formulário com campos que se escondem com DHTML
+ Outro exemplo de formulário dinâmico com campos opcionais
+ Relógio DHTML, com Javascript e camadas
+ Interface de ordenação de elementos DHTML com Javascript
+ Cabeçalho sempre visível com Javascript DHTML

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Relógio DHTML, com Javascript e camadas

Criamos 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.

Referência:Este exercício faz uso de uns scripts que já foram comentados em CriarWeb.como no artigo Relógio em Javascript.
Também se fará uso de uma biblioteca para gerar HTML Dinâmico compatível com todos os navegadores, chamada X Library, que está comentada no manual de CriarWeb.com DHTML Cross Browser.

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

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 DHTML


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites