produção de sites unidade 7 – javascript prof.: henrique santos

49
Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Upload: helena-cura

Post on 07-Apr-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Produção de SitesUnidade 7 – JavascriptProf.: Henrique Santos

Page 2: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Javascript

Page 3: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Introdução JavaScript é uma linguagem de

scripts criada pela Netscape em 1995, para atender a necessidade de conteúdo dinâmico em HTML.

A sintaxe do Javascript é semelhante a Java, mas é totalmente diferente no conceito e no uso.

Javascript é interpretado diretamente pelo Navegador, no lado do Cliente.

Page 4: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Uso de Javascript O uso de JavaScript em páginas HTML

e XHTML, pelo padrão W3C:

<script type="text/javascript">

/* aqui fica o script */

</script>

Page 5: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo 1<script type="text/javascript">

window.alert("Janela Hello World");

window.defaultStatus = "Hello barra de status";

</script>

Page 6: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Alguns cuidados Devido a ‘guerra’ entre a Netscape e

o Internet Explorer, funções Javascript podem ou não funcionar dependendo do Navegador.

Atualmente a Sun Microsystems detêm o trademark do Javascript. E embora tenha tentado chegar a um padrão unificado, este ainda não foi alcançado.

Page 7: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Navegadores sem Scripts Caso algum navegador não suporte, ou

esteja com o Javascript desligado deve-se usar a tag <noscript>

Exemplo:<script type="text/javascript"> document.write('Hello World!');

</script> <noscript> <p> Seu navegador não suporta ou ‘desligou’ Javascript. </p>

</noscript>

Page 8: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Comentários em Javascript Comentários em Javascript seguem o

mesmo padrão da linguagem Java•// Isto é um comentário de linha

•/* Isto é um comentáriode várias linhas até queencontre o finalizador de comentário */

Page 9: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando Variáveis Cria-se variáveis usando a palavra

reservada ‘var’ Ao contrário de linguagens como Java, as

variáveis Javascripts não possuem tipos. Exemplo:<script type="text/javascript"> var Mensagem = "Hello World!"; var MeuInteiro = 1; </script>

Page 10: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Comandos Básicos Condicionais:

• if (condição) { //comandos}else { //else é opcional //comandos

} Laços:

• while (condição) { //comandos}

• for (inicialização; condição; incremento){ //comandos}

Page 11: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Dialogs Diálogo de Alerta: window.alert("Isto

é um alerta!") Diálogo de Confirmação:

window.confirm("Isto é uma confirmação!")

• Retorna true se o usuário clicar em OK, false caso contrário

Diálogo de Input: window.prompt("Isto é um Input", "")

• Retorna o que for digitado pelo usuário

Page 12: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo 2 <script type="text/javascript"> // mostra uma janela de Ok ou Cancelar var escolha = window.confirm("Escolha Ok ou Cancelar para ver a msg");

if(escolha == true){ // mostra um alerta para resposta window.alert("Mensagem 01"); } else{ /* mostra um alerta para resposta Cancelar */

window.alert("Mensagem 02"); }</script>

Page 13: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando Funções Funções são criadas usando a palavra

reservada ‘function’ Exemplo:<script type="text/javascript"> function alo() { window.alert("Alo Mundo"); }</script>

Page 14: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando Funções Pode-se criar parâmetros para as funções

simplesmente dando nomes aos parâmetros Retorno de uma função é feito pela palavra

reservada ‘return’ Exemplo:<script type="text/javascript"> function multiplica(numero1, numero2){ var resultado = numero1 * numero2; return resultado; }</script>

Page 15: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Chamando funções Uma vez declaradas, basta chamar o

nome da função e passar os seus parâmetros.

Exemplo:<script type="text/javascript"> alo(); var Numero = multiplica(3,5);</script>

Page 16: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando um Vetor Para criar um vetor (ou array) usa-se a seguinte

sintaxe:• var nomevetor = new Array(numero_elem);

Assim como Java, o primeiro elemento começa do índice 0.

Exemplo:<script type="text/javascript"> var vet=new Array(4); vet[0]="Que"; vet[1]="saudade"; vet[2]="de"; vet[3]="Java";</script>

Page 17: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando um Vetor Assim como Java, é possível criar um

vetor e já passar o seu conteúdo como no exemplo abaixo:

<script type="text/javascript"> var vet=new Array("Que", "saudade", "de", "Java");

</script>

Page 18: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Manipulando Strings Concatenação: Use o operador +

• var Msg=vet[0]+" "+vet[1]+" "+vet[2]+" "+vet[3];

Busca: Use o método search• var Indice = Msg.search("Java");

Substituição: Use o método replace• var MsgC = Msg.replace("Java", "C");

Quebra: Use o método split• Var vet2 = MsgC.split(" ");

Page 19: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Chamando funções em Links Pode-se chamar uma função

Javascript em uma tag de Link HTML. Sintaxe:

• <a href="javascript:nomeFuncao();"> Texto do Link</a>

Exemplo:<a href="javascript:alo();"> Chamando função alo() de um href.</a>

Page 20: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Chamando funções em Eventos Certas tags HTML possuem atributos

de eventos, que podem ser usados para chamar uma função Javascript.

Exemplo:<input type="submit" onclick="alo();" />

Page 21: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Função depois de carregar a página

Pode ser que se deseja executar um código Javacript depois da página ter sido totalmente carregada.

Para isto basta usar o atributo ‘onload’ da tag ‘body’

Exemplo:<body onload="alo();"><!-- Corpo da página --></body>

Page 22: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

MouseOver em Imagens Tags de Imagem possuem eventos

especiais, como o MouseOver Exemplo:<img src="./imagem1.gif" onmouseover="alo();" />

Page 23: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Janelas do Navegador

Page 24: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando uma Nova Janela Para criar uma nova janela usa-se o

método ‘open’ do objeto ‘window’ Exemplo:<script type="text/javascript"> window.open("http://www.yahoo.com.br");

</script>

Page 25: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Tamanho da Janela Criada Pode-se definir o tamanho de janelas

criadas usando os parâmetros ‘width’ e ‘height’ do método ‘open’.

Exemplo:<script type="text/javascript"> window.open("http://www.yahoo.com.br","width=500", "height=200");

</script>

Page 26: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Alterando CSS

Page 27: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Javascript e CSS Uma das funcionalidades do

Javascript é justamente a possibilidade de alterar dinamicamente classes de estilo CSS

Para isso existem dois métodos do document:

• getElementById(IdElemento)• getElementsByClassName(ClasseElemento)

Deve-se usar o método setAttribute no javascript para alterar o HTML

Page 28: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo CSS.normal { color:#00FF00; }.escondido { display:none;

visibility:hidden; } Javascriptfunction ficaInvisivel(){

document.getElementById("Ex") .setAttribute("class","escondido");

}

Page 29: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Formulários HTML

Page 30: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Preparando os Formulários Todo formulário DEVE possuir o

atributo name. Exemplo:<form action="MeuServlet" method="post" name="formulario" >

<!-- Entradas do formulário -->

</form>

Page 31: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Valores dos Campos Para pegar os atributos de um campo de

formulário basta usar a sintaxe:• document.nomeFormulario.nomeCampo

Exemplo:<script type="text/javascript">function testa(){

var Texto = document.formulario.nome.value;

window.alert(Texto); }</script>

<form action="" name="formulario"> <input type="text" name="nome" /> <input type="submit" onclick="testa()"/></form>

Page 32: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Mudar Valor de um Campo Basta usar a sintaxe anterior mas colocando algo

dentro do value. Exemplo:<script type="text/javascript">

function copia(){ var Texto = document.formulario.nome.value; document.formulario.nomecopia.value = Texto; }</script>

<form action="" name="formulario"> Nome: <input type="text" name="nome" /> Copia: <input type="text" name="nomecopia"/> <input type="submit" onclick="copia()" /></form>

Page 33: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Validando Campos Para validar campos de um

formulário deve-se usar o evento ‘onsubmit’ do FORM.

Nesse campo a função javascript deve retornar true para continuar.

Caso retorne false o formulário não será enviado ao ‘action’.

Page 34: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo Validação<script type="text/javascript"> function checarCampo(){ var Texto=document.formulario.login.value; if(Texto.length==0){ window.alert("Campo login não pode ser vazio!"); return false; }else { return true; }} </script>

<form action="LoginServlet" name="formulario" onsubmit="return checarCampo();">

Login: <input type="text" name="login"/><br/> Senha: <input type="password" name="senha"/><br/> <input type="submit" /></form>

Page 35: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Validando múltiplos Campos Muita Atenção ao criar funções para

validar diversos campos.• Se exibir um dialog para CADA campo não

preenchido, poderá acontecer uma ‘enxurrada’ de dialogs

• Se exibir somente um dialog de apenas um dos campos não preenchidos, ficará pouco usual

Solução: Exibir somente um dialog com uma mensagem sobre todos os campos não preenchidos.

Page 36: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo Incorreto<script type="text/javascript"> function multValidaErrado(){ var Retorno = true;

if(document.formulario.login.value.length == 0){ Retorno=false;

window.alert("Campo login não pode ser vazio."); }

if(document.formulario.senha.value.length == 0){ Retorno=false;

window.alert("Campo senha não pode ser vazio."); }

return Retorno; }</script>

Page 37: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo Correto<script type="text/javascript"> function multValidaCerto(){ var Retorno = true;

var Mensagem = "Atenção. Os seguintes campos não podem ser vazios:";

if(document.formulario.login.value.length == 0){ Retorno=false; Mensagem = Mensagem + “\n - Login "; }

if(document.formulario.senha.value.length == 0){ Retorno=false; Mensagem = Mensagem + “\n - Senha"; }

if(Retorno==false){ window.alert(Mensagem); } return Retorno;

}</script>

Page 38: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Arquivos Javascript Para facilitar a reutilização de códigos

Javascript, pode-se colocá-los em um arquivo separado

Então usa-se o atributo src para usar o arquivo

Exemplo <script type="text/javascript" src="meuscript.js" > </script>

<script type="text/javascript"> //Outros códigos viriam em outra TAG </script>

Page 39: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Máscaras de Digitação Codificação de máscaras não é

simples, mas existem várias bibliotecas prontas para usar.

• jQuery (addon jquery.maskedinput)• iMask• dFilter• JavaScriptTools• Typecast

Page 40: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

jQuery

Page 41: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

jQuery jQuery é uma biblioteca cheio de

funcionalidades para mudar (melhorar?) a forma de programar Javascript.

Vantagens:• Leve: aproximadamente 90KB de tamanho• Portável: testado e funcionando em IE 6+, FF

2+, Safari 3+, Opera 9+, Chrome 1+ Desvantagens:

• Muda a forma de escrever javascript

Page 42: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo Básico de jQuery<html> <head> <script type="text/javascript" src="jquery-1.6.2.min.js"> </script>

<script type="text/javascript"> // Seu código vem aqui </script> </head> <body> <!-- Sua página vem aqui --></body> </html>

Page 43: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

jQuery Para informações mais detalhadas e

tutoriais visite a página do jQuery. http://jquery.com/ Cada vez mais, empresas de

desenvolvimento Web estão procurando pessoas que saibam jQuery ao invés de Javascript.

Page 44: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Máscaras no jQuery A biblioteca básica do jQuery não

possui máscaras. Existe um plugin que faz isso

chamado de jQuery Masked Input. Deve-se ainda importar a biblioteca

base do jQuery além do Masked Input.

Page 45: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Criando as Máscaras1. Importar as bibliotecas

<script type="text/javascript" src="jquery-1.6.2.min.js"> </script><script type="text/javascript" src="jquery.maskedinput-1.3.min.js"> </script>

2. Definir a função máscara<script type="text/javascript"> jQuery(function($){ $("#data").mask("99/99/9999"); }); </script>

3. Certifique-se que o campo input possua o atributo ‘id’ igual ao referenciado.

Page 46: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Definindo as Máscaras A máscara é definida por um formato

e formada por caracteres de escape. Somente caracteres não contidos na

lista de escape serão considerados um caractere da máscara.

Os seguintes caracteres de escape são predefinidos:

• a - Representa letras (A-Z, a-z)• 9 - Representa um caractere numérico (0-9)• * - Representa um caractere alpha numérico

(A-Z,a-z,0-9)

Page 47: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo Sem Máscara<!-- Exemplo começa a partir da TAG Body, não equeça

de criar as tags HTML e HEAD antes --> <body>

<form action="" name="formulario"> Nome:<input type="text" name="nome" id="nome"/><br/> Fone:<input type="text" name="fone" id="fone"/><br/>CEP: <input type="text" name="cep" id="cep" /><br/>Data:<input type="text" name="data" id="data"/><br/><input type="submit" value= "Enviar"/>

</form> </body></html>

Page 48: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Exemplo com Máscara<!-- adicionar esse código dentro da TAG head do slide anterior -->

<script type="text/javascript" src="jquery-1.6.2.min.js"></script>

<script type="text/javascript" src="jquery.maskedinput-1.3.min.js"> </script>

<script type="text/javascript"> jQuery(function($){ $("#fone").mask("(99) 9999 - 9999"); $("#cep").mask("99999-999"); $("#data").mask("99/99/9999"); });</script>

Page 49: Produção de Sites Unidade 7 – Javascript Prof.: Henrique Santos

Considerações Finais Para mais informações procure

tutoriais sobre jQuery na Internet Na própria página do jQuery existem

tutoriais em português http://docs.jquery.com/Tutorials#

Tutoriais_em_portugu.C3.AAs