13 Dezembro 2017 Qua

2 visitantes e 0 Usuários online

  Indique Download Forums Links Polita de Privacidade
PC-SOS :: WEB :: Introdução ao DHTML - Parte I
PC-SOS
Notícias
Anúncios
Estatística
FAQ
Usuários
Usuários Online
Conteúdo
1-Política de Privacidade
Artigos
Celular
Flash
Linux
Discos Rígidos
Hardware
Internet
Modem
MSOffice
MSOffice - Excel
Multimedia
Photoshop
Programação
Rede
Segurança
Sistema Operacional
Software
Software p/ PenDrive
Termos & Siglas
WEB
Windows
Xoops
Área de Usuário

Usuário:
Senha:
Lembrar!
Esqueci minha senha
Registrar

Pesquisa Avançada

Patrocinadores

 


Teste de Velocidade

Desenvolvido por

 

 

 

2.01.2009
Como configurar o Windows para aceitar 8GB de RAM
3.12.2008
Quando Pen Drive USB Não Aparece No Windows
15.02.2008
BBS, sistema que foi o antecessor da internet
26.11.2007
Firefox 3.0
5.10.2007
Hitachi trabalha em Blu-Ray de 100GB e 200GB
24.09.2007
Novo supercomputador entra em operação no Brasil
24.09.2007
IBM oferece software gratuito de edição de texto
19.09.2007
Processador com 80 NÚCLEOS
19.09.2007
IBM terá suíte de escritório gratuita
17.09.2007
Clone do Office online, e grátis

Introdução ao DHTML - Parte I
25.08.2007

Este é o primeiro de uma série de artigos sobre DHTML, uma das mais poderosas ferramentas nas mãos de um Web Master. Esses artigos darão uma visão geral de o que é e como usar o DHTML. Não vou me ater muito em teorias, pois a linguagem JavaScript (padrão para DHTML) é muito complexa, em vez disso, vou dar exemplos de utilidade pratica para os conceitos apresentados, e mostrar como utilizar essa tecnologia para criar soluções criativas, bem apresntaveis e funcionais para a criação de paginas web dinamicas.

O que é DHTML ?

Ao contrario do que se pensa, DHTML não é uma linguagem de programação, mas sim um conjunto de técnicas de programação que combinam as linguagens HTML e JavaScript para tornar o HTML dinamico. Daí o nome DHTML - Dynamic Hyper Text Markup Language.

Nos anos 80, com o advento dos computadores pessoais, surgiu uma linguagem de programação que permitia transportar arquivos gráficos no formato texto, e depois eles seriam remontados como graficos para ser exibidos. É a chamada HTML. Com os avanços tecnologicos na area da Internet, logo foi possivel enviar esses arquivos HTML pela rede, e assim surgiram as Paginas Web. Mas nesse momento o HTML perdia muito em performance, pois era necessário enviar a pagina pela internet, para que ela fosse visualizada no navegador cliente.

A grande desvantagem do HTML sempre foi o fato de ser totalmente estática, ou seja, depois de interpretado o codigo e montada a pagina grafica, nada poderia acontecer. A primeira mudança nesse aspecto não veio na linguagem, mas sim nos navegadores. A partir da segunda geração de navegadores, os Links passaram a ser sublinhados, tendo comportamento diferente do restante do texto. Mas isso não estava ao alcance do programador, e sim pre-programado no interpretador da linguagem.

Os links ativos foram o pontapé inicial para uma grande revolução: se era possível trocar a formatação do link em milesimos de segundos no browser, porque não fazer o mesmo com o resto do texto??? Assim surguia os primeiros esboços da linguagem JavaScript, criada pela Netscape e lançada na versão 2.0 do seu navegador. Anos depois, em um acordo entre a Microsoft e a Netscape, foi criada uma convenção internacional que homologou a linguagem JavaScript. Os navegadores Internet Explorer e Netscape, à partir das versões 3.0, passaram a ter suporte à essa linguagem, e assim as paginas HTML ganharam vida nas telas do browsers.

O conceito DHTML surguiu em meados dos anos 90 com o Netscape 3.0, que trazia o reconhecimento de eventos, o que tornava o HTML interativo com o usuário. A Microsoft não ficou pra traz e lançou a versão 3.0 do IE, que tambem trazia a interpretação de eventos, e ainda adicionava um novo conceito ao DHTML, chamado CSS - Cascating StyleSheet que permitia armazenar em um trecho de script separado do HTML as regras de formatação e que passou a ser usado para configurar a atividade do JavaScritp no que se refere a mudança dinamica de formatação.

O que é necessário para rodar o DHTML ?

O Javascript, por necessitar de um interpretador, inpõe algumas restrições ao uso do DHTML:

  • O navegador Internet Explorer até sua versão 2.0 não reconhece JavaScript;
  • O navegador Netscape na versão 2.0 não reconhece eventos, mas permite efeitos de linha de tempo (entre outros usos do JavaScript sem relação com DHTML);
  • O navegador Netscape à partir da vesão 3.0 reconhece JavaScript 1.0
  • Os demais navegadores reconhecem JavaScript, mas podem apresentar comportamento distinto do obtido no IE e no Netscape

Como a linguagem está em constante desenvolvimento, há determinadas funcionalidades que não apresentam o mesmo comportamento em todos os navegadores, como tambem há comandos e funções que não são reconhecidos em algumas versões, por serem mais recentes que essas funções.

Cabe ao programador testar seus scripts em diversos navegadores, e expor notas de versão, ou então tratar o codigo para só executar algo se o navegador suportar. Uma boa soluçõa no caso de um navegador não suportar seus scripts, é redirecionar o browser para uma página sem scripts.

Alem do JavaScript, o CSS também apresenta problemas de não reconhecimento no Nestcape e no IE em versões inferiores à 3.0.

O que é possível fazer com DHTML ?

Observe abaixo alguns exemplos do que é possível fazer com a combinação HTML - JavaScript:

Passe o Mouse Por Aqui Passe o Mouse Por aqui
Clique Aqui
Clique Aqui
     

Estes são apenas exemplos de comportamentos simples que podem ser feitos com JavaScript. Todo o script que realiza os efeitos acima está escrito em apenas 16 linhas. Mas por enquanto não vamos analizá-los. Vamos nos ater a um exemplo prático para se iniciar com DHTML.

Mudando a formatação do texto

No primeiro quadro acima, temos um exemplo onde passando o mouse sobre a célula da tabela, o texto contido na tabela muda de cor. Vamos por a mão na massa e fazer um script semelhante. Mas antes de iniciar, um pouco de teoria sobre HTML:

Em HTML, cada tag dá origem a um objeto, que pode ser acessado pelo script da pagina. Um objeto HTML nada mais é que uma area da pagina que pode reconhecer eventos sobre si mesma, bem como apresentar atributos proprios, ou conter outros objetos.

Como eu disse, cada tag define um objeto. Mas o texto solto na página não pertence à objeto algum, então não tem como acessá-lo no script. A solução é criar um objeto que comporte o texto. É o que vamos fazer. Vamos utilizar o objeto div, ele define uma area do html, que pode ser formatada diferentemente do restante da pagina, e permite também reconhecer eventos sobre essa area. Poderiamos usar qualquer tag HTML, como a tag <td> que foi usada no exemplo acima, ou uma tag <p>, que define um paragrafo de texto.

Agora é preciso definir a logica de funcionamento do script: o que ele deve fazer com o texto do objeto div? Resposta: deve mudar a cor do texto toda vez que o mouse passar por cima do objeto, e restaurar a cor anterior quando o mouse sair de cima da area do objeto. Para tanto vamos precisar interceptar dois eventos do Mouse (em um proximo artigo, trarei uma lista completa dos eventos). Nossos eventos são onMouseOver (quando o mouse passar por cima) e onMouseOut (quando o mouse deixar de estar por cima).

O objeto div não possue um atributo que defina a cor do texto. Assim devemos utilizar atributos da subclasse style (que é comum a todos os objetos HTML). O atributo de style que define a cor do texto é color. Assim, é possível definir a cor do texto de um div atraves do atributo style.color. Veja como:

<div style="color: blue;">

A sintaxe é nome_subclasse="nome_atributo: valor;"

Assim, definimos a cor do texto para azul. Mas como mudar para vermelho quando o mouse passar por cima? Simples: com uma instrução que mude o valor de style.color para "red". Em javascript podemos sempre referenciar o objeto no qual é disparado o evento pela palavra-chave this. Assim, a instrução para mudar a cor do texto será: this.style.color = 'red'.

Mas onde por essa instrução??? aí entram os eventos citados acima. A mudança deve ocorrer quando for disparado o evento onMouseOver, então basta incluir uma referencia ao evento na tag <div> e associar à ela o codigo. A declaração de um evento segue a mesma sintaxe da declaração de um atributo, ou seja: nome_evento="codigo_associado".

Vamos a declaração do objeto:

<div style="color: blue;" onMouseOver="this.style.color='red';">Este &eacute; o texto do Exemplo</div>

Abaixo temos o resultado da linha de codigo acima:

Este é o texto do Exemplo

Você deve ter percebido que passando o mouse por cima, o texto fica vermelho. Mas por que não volta ao normal??? simples: o codigo associado ao evento onMouseOver é executado quando o mouse é detectado sobre o objeto, mas não tem relação alguma com o fato de o mouse estar sobre o objeto, ou seja, seu efeito permanece mesmo quando o mouse se retira de cima do objeto. Para contornar esse problema, vamos programar uma nova mudança de cor para quando o mouse se retirar de cima do objeto, ou seja, no evento onMouseOut. A instrução será a mesma do evento onMouseOver, mas atribuindo a cor azul para o texto. Vejamos como fica agora a declaração do objeto (lembrando que em html as quebras de linha não interferem):

<div align="center" style="color: blue;" onMouseOver="this.style.color='red';" onMouseOut="this.style.color='blue'">Este &eacute; o texto do Exemplo</div>

Abaixo temos agora o exemplo completo (codigo acima):

Este é o texto do Exemplo

Abaixo, deixo uma tabela com alguns outros exemplos de comportamento semelhantes a esse. Observe as linhas de código dando especial atenção aos atributos da subclasse style.

Código Fonte Resultado
<div style="text-decoration: none;" onMouseOver="this.style.textDecoration='underline';" onMouseOut="this.style.textDecoration='none';">Este texto vai ficar sublinhado</div>
Este texto vai ficar sublinhado
<div style="font-weight: normal;" onMouseOver="this.style.fontWeight='bold';" onMouseOut="this.style.fontWeight='normal';">Este texto vai ficar em negrito</div>
Este texto vai ficar em negrito
<div style="font-size: 14px;" onMouseOver="this.style.fontSize='10px';" onMouseOut="this.style.fontSize='14px';">Este texto vai mudar de tamanho de fonte</div>
Este texto vai mudar de tamanho de fonte

O primeiro exemplo utilizou o atributo textDecoration, cujos possíveis valores são: underline (sublinhado), overline (sobrescrito), line-through (tachado), blink (piscando) e none (nenhum). Atribuir o valor none obriga o texto a não ter decoração nenhuma, se o atributo for deixado em branco (textDecoration='';) o texto receberá a decoração definida no objeto pai.

O Segundo utilizou o atributo fontWeight, cujos possíveis valores são: bold (negrito), bolder (negrito forte), lighter (negrito fraco) e normal. Alem desses valores, também é possível definir um valor numérico, e quanto mais baixo esse valor, mais clara é a fonte.

O terceiro exemplo utilizou o atributo fontSize, que define o tamanho da fonte, em pixels (px) ou pontos (pt). Note que na declaração do objeto <div> não foi atribuido valor algum, isso faz com que se utilize o valor definido para a mesma propriedade no objeto pai (no caso a celula da tabela). Nesse caso, para restaurar o tamanho foi deixado em branco o valor, assim é atribuído o valor do mesmo atributo do objeto pai.

 

Só para encerrar o assunto, vou deixar um exemplo onde vários desses atributos são alterados ao mesmo tempo. Em Javascript, podemos encadear uma série de instruções em uma única linha de comando, bastando separar as instruções por sinais de ponto-e-virgula (;). Abaixo está o código e logo após o exemplo:

<div align="center" style="backGround-Color: #E1E9F7; border: 1px solid #CCCCCC; color: blue;" onMouseOver="this.style.backgroundColor='#E9F7E1';this.style.color='green';" onMouseOut="this.style.backgroundColor='#E1E9F7';this.style.color='blue';">Neste exemplo, mudam a cor do texto e a cor de fundo</div>

Neste exemplo, mudam a cor do texto e a cor de fundo

 

PC-SOS
Hits: 1236
WEB >>
 Ruim  Bom 
Comentário de Usuário: Nosso usuário podem revisar conteúdos

 

 

 

     

Número de visitas deste fev/2005 - Número de consultas ao site:

  © Copyright 2005 PC SOS. All Rights Reserved. contato@robweb.com.br