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

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

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

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

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JAVASCRIPT

PROGRAMAÇÃO PARA INTERNET RICA AJAX

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

PROGRAMAÇÃO PARA INTERNET RICA EVENTOS EM ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

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

INTRODUÇÃO AO JQUERY PROF. ME. HÉLIO ESPERIDIÃO

PROGRAMAÇÃO SERVIDOR RECURSOS ADICIONAIS EM SISTEMAS WEB DOS SERVLETS. Prof. Dr. Daniel Caetano

INTRODUÇÃO À TECNOLOGIA SERVLETS

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

Aula 17 Introdução ao jquery

PROGRAMAÇÃO PARA INTERNET RICA FUNÇÕES E EVENTOS EM ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

PROGRAMAÇÃO PARA INTERNET RICA FUNÇÕES E EVENTOS EM ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

PROGRAMAÇÃO PARA INTERNET RICA EVENTOS EM ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano

AJAX (Asynchronous Javascript And XML)

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

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JQUERY

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

INTRODUÇÃO AO JQUERY PARTE 2. Prof. Me. Hélio Esperidião

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

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

Jogo da Tabuada. Introdução. Scratch

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

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

Introdução ao Javascript

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

Programação para Internet I

Programação para Internet I

Curso de automação industrial utilizando o CLP Haiwell

Ambiente de programação

JAVASCRIPT. Desenvolvimento Web I

NOVIDADES DO JAVA PARA PROGRAMADORES C

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV2-01. Luiz Leão

Criação de estilos CSS

EMENTA: PHOTOSHOP PARA WEB

Universidade Federal de Ciências da Saúde de Porto Alegre

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

Lista de Recursos. Loja Virtual PROPOSTA VÁLIDA POR 5 DIAS ÚTEIS

Dreamweaver CS6 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

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

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

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

Guia para Criativos em HTML5 ABRIL

Como criar um menu pop-up no Dreamweaver

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

b. Inserir espaço entre parágrafos layout da pagina setinhe caixa paragrafo Recuo Esq e Dir = zero espaçamento antes = 0, depois = 10

Google Drive Formulários

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

Anexo I. Recomendações para construção de páginas acessíveis para o EAD da Universidade Caixa.

Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

Desenvolvimento de Aplicações para Internet Aula 11

PARA QUEM É ESTE CURSO?

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

Pré-requisitos: Conhecimentos de informática gerencial e lógica de programação.

Adicionando AJAX (Tarefa F) Prof. Fellipe Aleixo

Plano de Aula - Dreamweaver CS5 - cód Horas/Aula

Como criar menus para as suas planilhas

Web I F R N I N S T I T U TO F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O LO G I A D O R I O G R A N D E D O N R T E.

Especificações técnicas O código Javascript abaixo deve ser usado como um valor de clicktag associado ao banner:

Produção de tutoriais. Suellem Oliveira

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

Plano de Trabalho Docente Ensino Técnico

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

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

O CMS JOOMLA! UM GUIA PARA INICIANTES

Guia para produção de peças HTML5 Infoglobo

ELABORADO POR ALBINO SZESZ JUNIOR E JEAN POPOATZKI (NUTEAD/UEPG) PONTA GROSSA, MARÇO DE 2017

M A N U A L D E I N S TR U Ç Õ E S. TradeZone WebCharts

Histórico de sessão. O objeto history do navegador ganhou dois novos métodos: pushstate e replacestate.

Transcrição:

PROGRAMAÇÃO PARA INTERNET RICA MANIPULANDO XHTML E CSS COM JAVASCRIPT Prof. Dr. Daniel Caetano 2013-1

Objetivos Apresentar a manipulação direta de elementos do XHTML e CSS com o uso do JavaScript Apresentar e eliminar elementos (PopUp, por exemplo) Mudar funcionalidade de elementos TRABALHO A ONLINE!

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

CODIFICAÇÃO CLIENT-SIDE

Codificação Client-Side Por que codificar no lado do cliente? Respostas rápidas Sensação de interação em tempo real Diminuir consumo de banda Diminuir processamento no servidor Manipular dados do XHTML document.getelementbyid( id )

COMO SUMIR COM ELEMENTOS DA PÁGINA

Sumindo com Elementos Sumir = não desenhar Prático: Deixar tudo pronto Mostrar só quando necessário Duas formas de fazer o sumiço A. Elemento continua ocupando seu espaço B. Elemento some completamente

Sumindo com Elementos Elemento ocupa espaço mas não é desenhado Propriedade: visibility visibility: visible; Mostra elemento Em Cima visibility: visible Em Baixo

Sumindo com Elementos Elemento ocupa espaço mas não é desenhado Propriedade: visibility visibility: visible; Mostra elemento visibility: hidden; Esconde elemento Em Cima visibility: hidden; visible Em Baixo

Sumindo com Elementos Elemento nem ocupa espaço nem é desenhado Propriedade: display display: block; Mostra elemento Em Cima display: block Em Baixo

Sumindo com Elementos Elemento nem ocupa espaço nem é desenhado Propriedade: display display: block; Mostra elemento display: none; Esconde elemento Em Cima display: block Em Baixo Em Baixo

TUTORIAL POPUP

Um PopUp em JavaScript+CSS

Um PopUp em JavaScript+CSS

Um PopUp em JavaScript+CSS

ASSOCIANDO FUNCIONALIDADES A OUTROS ELEMENTOS

Funcionalidades em Elementos Quando associamos funções direto no HTML Só podemos associar ações a links e botões... No JavaScript, entretanto, não há limitação! Podemos associar ações a um div, por exemplo! A. Fechar o PopUp quando clicarmos duas vezes no mesmo; B. Fechar o PopUp quando passarmos o mouse por cima do mesmo.

Funcionalidades em Elementos Quando associamos funções direto no HTML Vamos testar! Só podemos associar ações a links e botões... No JavaScript, entretanto, não há limitação! Podemos associar ações a um div, por exemplo! A. Fechar o PopUp quando clicarmos duas vezes no mesmo; B. Fechar o PopUp quando passarmos o mouse por cima do mesmo.

TROCANDO A FUNCIONALIDADE DE ELEMENTOS DA PÁGINA

Trocar a Funcionalidade Na função init()... Associamos uma função ao botão mostra É possível mudar a função associada! Basta indicar um novo nome botao.onclick = funcao1; (...) botao.onclick = funcao2;

Trocar a Funcionalidade botao.onclick = funcao1; botao.onclick() function funcao1() { //... } function funcao2() { //... }

Trocar a Funcionalidade botao.onclick = funcao1; botao.onclick = funcao2; botao.onclick() function funcao1() { //... } function funcao2() { //... }

Trocar a Funcionalidade Exemplo: botao.onclick() chamar: funcao1 function funcao1() { mostrapopup(); botao.onlick = funcao2; } function funcao2() { escondepopup(); botao.onlick = funcao1; }

Trocar a Funcionalidade Exemplo: botao.onclick() chamar: funcao1 function funcao1() { mostrapopup(); botao.onlick = funcao2; } function funcao2() { escondepopup(); botao.onlick = funcao1; }

Trocar a Funcionalidade Exemplo: botao.onclick() chamar: funcao2 function funcao1() { mostrapopup(); botao.onlick = funcao2; } function funcao2() { escondepopup(); botao.onlick = funcao1; }

Trocar a Funcionalidade Exemplo: botao.onclick() chamar: funcao1 function funcao1() { mostrapopup(); botao.onlick = funcao2; } function funcao2() { escondepopup(); botao.onlick = funcao1; }

Trocar a Funcionalidade Exemplo: botao.onclick() chamar: funcao1 E assim por diante... function funcao1() { mostrapopup(); botao.onlick = funcao2; } function funcao2() { escondepopup(); botao.onlick = funcao1; }

Trocar a Funcionalidade Vamos testar? A. Modifique o botão que abre o PopUp para que, após abri-lo, sirva também para fechá-lo; B. Incremente o código para que, quando a função do botão mudar, mude também seu texto.

VÁRIOS EVENTOS, UMA ÚNICA FUNÇÃO

Função para Múltiplos Eventos Uma mesma função JS pode ser associada a vários eventos e elementos... function mudacor() { document.body.style.color= green ; } button1.onclick = mudacor; div1.onclick = mudacor; td1.onclick = mudacor;

Função para Múltiplos Eventos Mas essa função muda sempre o texto global! function mudacor() { document.body.style.color = green ; } E se quisermos mudar apenas a cor do texto do elemento clicado?

Função para Múltiplos Eventos Exemplo: Clicou em um botão, muda cor texto deste botão Clicou em um div, muda cor deste div Dois jeitos: o força bruta e o sei o que faço Força Bruta? Uma função diferente para cada elemento E o outro método?

Função para Múltiplos Eventos Jeito inteligente : function mudacor() { this.style.color = green ; } this? this: referencia ao objeto atual (clicado) button1.onclick = mudacor; div1.onclick = mudacor; td1.onclick = mudacor;

TUTORIAL: ADICIONANDO JAVASCRIPT NO JOGO DA VELHA

Jogo da Velha Lógica de funcionamento

Jogo da Velha Navegador requisita ao servidor início do jogo: O servidor responde com o estado do jogo: 192.168.1.20, Por favor, inicie o jogo e informe! Cliente HTTP 200: OK Aqui vai o estado:... Servidor

Jogo da Velha Requisição x Resposta REQUEST Cliente RESPONSE Servidor

Jogo da Velha Requisição: start=x ou start =o Resposta:

Jogo da Velha Requisição: start=x ou start =o Resposta: Tabuleiro Andamento

Jogo da Velha Requisição: start=x ou start =o Resposta: _ x o _ X _ O. _. _. _. _. _ Tabuleiro Andamento

Jogo da Velha Navegador terá que pintar o tabuleiro! o. x x _ x o _ o. _. _ Tabuleiro Andamento

Jogo da Velha A. Sumir com fundo cinza das áreas de jogo B. Tornar invisível elemento de seleção C. Criar classes para diferentes marcações D. Criar função pintatabuleiro() Pintar tabuleiro segundo texto Ligar visibilidade da seleção só para campos vazios E. Chamar pintatabuleiro() no enviarequest

Jogo da Velha Requisição: start=x ou start =o Resposta: _ x o _ X _ O. _. _. _. _. _. Tabuleiro Andamento

Jogo da Velha Requisição: start=x ou start =o Resposta: _ x o _ X _ O. _. _. _. _. _. Tabuleiro Andamento v d e

Jogo da Velha A. mostrajanela com diferentes status de jogo

Jogo da Velha Lógica de funcionamento

Jogo da Velha Lógica de funcionamento

Jogo da Velha Requisição: cel=cn Resposta:

Jogo da Velha Requisição: cel=c8... cel=cn Resposta: Tabuleiro Andamento

Jogo da Velha A. Implementar função click (muda fundo) Habilitar click só para campos vazios

TUTORIAL: VALIDAÇÃO DE FORMULÁRIO (OPCIONAL)

Validação com JavaScript + CSS

Validação com JavaScript + CSS

Validação com JavaScript + CSS Não esqueçamos de: A. Marcar o campo ativo com :focus B. Marcar o campo errado com borda vermelha C. Ativar o foco no campo errado com.focus() D. Marcar texto do campo errado com.select() E. Desligar o botão de envio quando for clicado F. Mudar o texto do botão para Enviando... G. Opcional: contador de caracteres do TextArea Evento.onkeyup

CONCLUSÕES

Resumo JavaScript: processam. simples no lado do cliente JavaScript para modificar CSS: Torna as páginas mais dinâmicas Sensação : evita os tempos de espera da rede RIA sempre terrão código no lado do cliente Objetivo: aumentar velocidade e dinamismo! TAREFA Trabalho A!

Próxima Aula JavaScript e CSS só fazem essas coisas? Sim e não! DHTML! Não vai ficar <div> sobre <div>!

PERGUNTAS?

BOM DESCANSO A TODOS!