PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL

Documentos relacionados
Desenvolvimento Web. JavaScript aula IV Acesso a documentos com Document Object Model (DOM) Professor: Bruno E. G. Gomes

Programação WEB I DOM (Document Object Manager)

PROGRAMAÇÃO PARA INTERNET RICA MANIPULANDO XHTML E CSS COM JAVASCRIPT

PROGRAMAÇÃO PARA INTERNET RICA MANIPULANDO XHTML E CSS COM JAVASCRIPT

Programação Cliente em. jquery. Fontes: Wendell S. Soares e vinteum.com

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE II

Java: Linguagem de programação (OOP) JavaScipt: Linguagem de scripts (OOP)

INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT

PROGRAMAÇÃO PARA INTERNET RICA AJAX

Programação WEB I DOM (Document Object Manager)

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE I

JavaScript (Elementos de Programação e Programação Básica)

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JQUERY

DOM (Document Object Model)

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE II

F E B A C. Exercício de Fixação 3. FACULDADE DE EDUCAÇÃO DE BACABAL FEBAC Credenciamento MEC/Portaria: 472/07 Resolução: 80/07

Revisando os conteúdos. Introdução ao CSS

Respostas - RESUMO: Questionário CSS. 1) O padrão CSS nasceu para tentar minimizar quais problemas ligados à gestão de conteúdos na web?

Aula 17 Introdução ao jquery

Desenvolvimento Web. HTML 5 Parte I. Prof. Vicente Paulo de Camargo

JavaScript. Programação de Servidores. Marx Gomes Van der Linden

Redes de Computadores I Seminário Novas Tecnologias em Redes HTML5. Jessica da Silva Hahn Letícia Aparecida Coelho

Passo a passo para CRIAR E EDITAR CONTEÚDO DOS CURSOS

HTML 5 TAGS BÁSICAS E ESTRUTURAIS. Prof. Rosemary Melo

HTML & CSS. uma introdução

Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI.

PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

CSS Cascading Style Sheets

A diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável.

TECNOLOGIAS WEB. Unidade 3 Linguagem de Marcação e Estilo. Luiz Leão

Até agora aprendemos formas para nomear e processar dados em Javascript.

Introdução ao HTML5 Canvas

EMENTA: PHOTOSHOP PARA WEB

Aplicativos móveis com HTML5

Desenvolvimento Web. XHTML tag head e tags de texto. Professor: Bruno Gomes

CSS Cascading Style Sheets (Folhas de Estilo em Cascata)

Aula 11 Introdução ao Java Script

Introdução ao Javascript

Dreamweaver CS5 -5- CAPÍTULO 1... Iniciando e conhecendo o dreamweaver...8 Interfaces...23 Criando e confi gurando sites...24 Exercícios...

DreamweaverCC Plano de Aula - 24 Aulas (Aulas de 1 Hora).

Plano de Aula - DreamWeaver CC - cód Horas/Aula

PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

Aula 3. Imagens. <img src="foto.jpg" />

Desenvolvimento Web. Professor: Bruno E. G. Gomes

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JAVASCRIPT

COM222 DESENVOLVIMENTO DE SISTEMAS WEB. Aula 01: HTML e CSS

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. jquery

INTRODUÇÃO. JavaScript PROF. ME. HÉLIO ESPERIDIÃO

Introdução ao HTML André Luiz Silva de Moraes Instituto Federal de Santa Catarina

JAVASCRIPT Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

Introdução ao Javascript. Parte 3 Prof. Victor Hugo Lopes

Construção de sites Aula 1

Uma regra CSS quando válida para vários seletores, estes podem ser agrupados. Exemplo: h1, h2, h3, h4, h5, h6 { color: #00FF00; }

Edécio Fernando Iepsen

AULA 02 Introdução (HTML, CSS e Javascript) PROGRAMAÇÃO PARA WEB Marcelo Henrique dos Santos

Programação Web Aula 2 XHTML/CSS/XML

LiveGeek.Me DESENVOLVIMENTO DE APLICAÇÕES EM HTML5

Desenvolvimento de Aplicações para Internet

Programação para Internet I

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE I

HTML: Recursos Básicos e Especiais

Programação WEB. Prof. André Gustavo Duarte de Almeida www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

HTML? HTML? HTML? HTML e HTTP. HTML e HTTP 26/02/2011

JAVASCRIPT. Desenvolvimento Web I

Programação para Web HTML - Parte 2

CSS. Cascading Style Sheets Style Sheets

Unidade 4: Introdução à Tecnologia CSS Prof. Daniel Caetano

Transcrição:

PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL Prof. Dr. Daniel Caetano 2012-2

Objetivos Apresentar os conceitos do DHTML Conceituar a estruturação dos objetos do DOM Compreender as diferentes formas de acessar os elementos do DOM AV1!

Material de Estudo Material Notas de Aula Apresentação Acesso ao Material http://www.caetano.eng.br/ (Aula 8) http://www.caetano.eng.br/ (Aula 8) Material Didático Aprenda a Criar Páginas Web c/ HTML, páginas 609 a 648 Google + DOM +tutorial Web Sites http://www.w3.org/

DHTML

Introdução Já vimos intuitivamente DHTML = HTML Dinâmico Uso de JavaScript para... Manipular aparência Manipular conteúdo Aplicações Web Manipulação precisa e inteligente do HTML/CSS

Introdução Manipulação precisa exige... Conhecimento da estruturação dos elementos Conhecimento das formas de acessá-los Conhecimento das formas de modificá-los Estruturação dos elementos: DOM Document Object Model

O DOM: MODELO DE OBJETO DE DOCUMENTO

Modelo de Objeto de Documento Maneira de estrutura um documento XML em geral... serve para HTML e XHTML Árvore de nós Cada nó é um elemento Cada nó pode conter outros nós Nó raiz document

Modelo de Objeto de Documento Exemplo de Árvore DOM document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

Modelo de Objeto de Documento Busca pelo <em> document html head body title h1 p Exemplo Título Texto em. simples

MANIPULANDO O DOM

Manipulando o DOM As principais funções de manipulação são: getelementbyid( id ) Retorna um único elemento Existe apenas no objeto document getelementsbyname( nome ) Retorna um vetor de elementos Existe apenas no objeto document getelementsbytagname( tag ) Retorna um vetor de elementos Existe em todos os elementos do DOM

Manipulando o DOM getelementbyid - Exemplos var tmp = document.getelementbyid( artigo ); tmp.style.backgroundcolor = red ; var tmp2 = document.getelementbyid( imagem ); tmp2.src = nova_imagem.jpg ;

Manipulando o DOM getelementsbyname - Exemplo var tmp = document.getelementsbyname( cpf ); if (tmp.length > 0) tmp[0].style.backgroundcolor = red ; Cuidado! No XHTML... name só em formulários!

Manipulando o DOM getelementsbytagname - Exemplos var tmp = document.getelementsbytagname( p ); if (tmp.length > 0) tmp[0].style.backgroundcolor = red ; OU var artigo = document.getelementbyid( artigo ); var tmp = artigo.getelementsbytagname( p ); if (tmp.length > 0) tmp[0].style.backgroundcolor = red;

Manipulando o DOM Todo elemento DOM tem propriedades parentnode Retorna o nó pai do nó atual body p Texto. i simples

Manipulando o DOM Todo elemento DOM tem propriedades parentnode Retorna o nó pai do nó atual body p childnodes Uma matriz de todos os filhos do nó atual Texto. i simples

Manipulando o DOM Todo elemento DOM tem propriedades firstchild Primeiro filho do nó atual body p Texto. i simples

Manipulando o DOM Todo elemento DOM tem propriedades firstchild Primeiro filho do nó atual body p lastchild Último filho do nó atual Texto. i simples

Manipulando o DOM Todo elemento DOM tem propriedades nodevalue O valor do elemento atual body p Texto. i Texto <i>simples</i>. simples

Manipulando o DOM Todo elemento DOM tem propriedades nodevalue O valor do elemento atual body p Texto. i simples simples

Manipulando o DOM Todo elemento DOM tem propriedades nextsibling Elemento posterior body p em i img null simples

Manipulando o DOM Todo elemento DOM tem propriedades nextsibling Elemento posterior body p em i img simples

Manipulando o DOM Todo elemento DOM tem propriedades nextsibling Elemento posterior previoussibling Elemento anterior body p em i img simples

Manipulando o DOM Todo elemento DOM tem propriedades innerhtml Permite acrescentar um novo ramo ao elemento Pode-se escrever HTML normal, o navegador constrói tudo

Manipulando o DOM Todo elemento DOM tem propriedades innerhtml <h1 id= a >Teste</h1> var tmp = document.getelementbyid( a ); tmp.innerhtml = <em>novo</em> teste ; Tem o efeito de... <h1 id= a ><em>novo</em> teste</h1>

Manipulando o DOM innerhtml <h1 id= a >Teste</h1> var tmp = document.getelementbyid( a ); tmp.innerhtml = <em>novo</em> teste ; h1 h1 Teste em Novo teste

Manipulando o DOM innerhtml é diferente de nodevalue! <h1 id= a >Teste</h1> var tmp = document.getelementbyid( a ); tmp.nodevalue = <em>novo</em> teste ; h1 h1 Teste <em>novo</em> teste

Manipulando o DOM innerhtml x nodevalue h1.innerhtml = <em>novo</em> teste ; h1.nodevalue = <em>novo</em> teste ; h1 h1 em teste <em>novo</em> teste Novo

CRIANDO ELEMENTOS DOM

Manipulando o DOM E para apenas acrescentar algo? document.createelement( tag ) Cria um elemento Função do objeto document document.createtextnode( texto ) Cria um elemento de texto Função do objeto document appendchild(filhote) Acrescenta um filhote ao elemento atual Função de todos os elementos do DOM

Manipulando o DOM var par = document.createelement( p ); var tex = document.createtextnode( Oi! ); par.appendchild(tex); var div = document.getelementbyid( artigo ); div.appendchild(par); document div p Oi!

Manipulando o DOM Mais algumas funções removechild(elemento) Remove um filho do elemento atual Função de todos os elementos do DOM replacechild(original, novo) Substitui um filho existente (original) por outro (novo) Função de todos os elementos do DOM

MANIPULANDO O VISUAL PELO DOM

Manipulando o Visual pelo DOM Duas formas de mudar propriedades visuais Modificando o atributo style dos elementos Cria/remove estilos inline no XHTML Basta alterar o atributo como temos visto document.body.style.color = blue ; var tmp = document.getelementbyid( local ); tmp.style.backgroundcolor = yellow ;

Manipulando o CSS pelo DOM Duas formas de mudar propriedades visuais Mudando a classe de um elemento Modificar o atributo class do elemento var tmp = document.getelementbyid( p1 ); tmp.classname = umaclasse ;

Manipulando o CSS pelo DOM Para adicionar uma classe: var tmp = document.getelementbyid( p1 ); tmp.classname = umaclasse ; (...) tmp.classname += outraclasse ; Atributo classes: umaclasse outraclasse

Manipulando o CSS pelo DOM Para remover todas as classes: var tmp = document.getelementbyid( p1 ); tmp.classname = ; Para remover uma classe: complicado! classname: umaclasse outraclasse

COMO LER O CSS?

Lendo o CSS com JavaScript Além dos estilos, podem ser lidos diretamente: offsetheight Altura em pixels do elemento offsetwidth Largura em pixels do elemento offsetleft Distância em pixels a partir do elemento da esquerda offsettop Distância em pixels a partir do elemento de cima

Lendo o CSS com JavaScript Mas você já deve ter observado que... var cor = document.body.style.color; window.alert(cor); Só imprime a cor se ela estiver inline Como fazer para atributos do arquivo CSS? Não existe uma forma padrão (unificada) de fazer isso...

Lendo o CSS com JavaScript function getstyle( elem, estilo ) { var valor = ; if (document.defaultview && document.defaultview.getcomputedstyle) { valor = document.defaultview.getcomputedstyle(elem, ); valor = valor.getpropertyvalue(estilo); } else if (elem.currentstyle) { estilo = estilo.replace(/\-(\w)/g, function(match,p1) { return p1.touppercase();}); valor = elem.currentstyle[estilo]; } return valor; }

Lendo o CSS com JavaScript Como usar isso? É mais fácil do que parece: var el = document.getelementbyid( artigo"); var cor = getstyle(el,"background-color");

TUTORIAL

Jogo da Velha A) Região de Debug B) Janela de mensagens em HTML C) Placar (HTML5) D) Áudio (HTML5)

CONCLUSÕES

Resumo DOM: acesso diretamo a elem. do XHTML O que fazer com DOM e seus elementos? Adicionar Criar Modificar Remover Acesso ao CSS: não padronizado, mas possível TAREFA AV1

Próxima Aula Complicado! getelement... pouco prático! Buscas: Jquery!

PERGUNTAS?

BOM DESCANSO A TODOS!