51
Desenvolvimento de Aplicações para Internet Aula 03 Celso Olivete Júnior [email protected]

Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Desenvolvimento de Aplicações

para InternetAula 03

Celso Olivete Júnior

[email protected]

Aula 03

Page 2: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Na aula de hoje...

� Javascript: introdução, operadores lógicos ematemáticos, comandos condicionais.

� Javascript: eventos, variáveis, escrevendo� Javascript: eventos, variáveis, escrevendono documento, mensagens, funções einterações com o usuário.

2 /42Desenvolvimento de Aplicações para Internet

Goodman, Danny. JavaScript & DHTML: guia prático. Rio de Janeiro: AltaBooks, 2008

Page 3: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

��IntroduçãoIntrodução

� Operadores relacionais

� Estruturas de decisão� Estruturas de decisão

� Estruturas de repetição

� Eventos

� Funções

� Canvas

� Exercícios

3 /42Desenvolvimento de Aplicações para Internet

Page 4: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� Tecnologia desenvolvida pela Netscape em1995

� Objetivos: incorporar conteúdo dinâmicoem páginas HTML estáticasem páginas HTML estáticas

� Move algum processamento lógico para olado do cliente

� Linguagem de script de alto nível, baseadaem objeto

4 /42Desenvolvimento de Aplicações para Internet

Page 5: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� Para que serve a tecnologia Javascript?

� Foi projetada para aumentar interatividade daspáginas web:páginas web:

� Validação de campos de formulários, interação com ousuário (p.ex., tratamento de cliques de botões),detecção de navegadores, etc

� Seu processamento pode ser feito tanto na máquinacliente (browser) quanto no servidor

� Não gera programa executável do tipo arquivo exe

5 /42Desenvolvimento de Aplicações para Internet

Page 6: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� A programação JavaScript deve vir dentro

da tag script

<script language=“javascript”

type=“text/javascript”>

programação

</script>

6 /42Desenvolvimento de Aplicações para Internet

Page 7: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� Uma tag <script> pode ser definida numa seção head,

numa seção body e também pode ser definida

externamente:

� Na seção head, os scripts são executados quando são

chamados ou quando algum evento ocorre;

� Na seção body, os scripts são executados na carga da página

web

� De forma externa, um arquivo com a extensão “.js”

7 /42Desenvolvimento de Aplicações para Internet

Page 8: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� Primeiro exemplo: exibindo umamensagem

...A mensagem seráexecutada na carga da

8 /42Desenvolvimento de Aplicações para Internet

...<body><script language="javascript" type="text/javascript">

alert("Olá Mundo");

</script></body>...

Exibe uma mensagem. Se for um texto deve vir entreaspas. Se for uma variável tem que vir sem aspas

executada na carga dapágina

Page 9: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� A forma mais habitual é definir a codificaçãojavascript em um arquivo externo (extensão .js)que será acionado no html. Diretório onde o

arquivo foi salvo

� Editor de Javascript � Free JavaScript

Editor

9 /42Desenvolvimento de Aplicações para Internet

<script language="JavaScript" src="scripts/testes.js”> </script>

Page 10: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� Desenvolvendo scripts em um arquivo externo

� Neste arquivo não são usadas as tags html

� Para que uma página HTML possa processar as� Para que uma página HTML possa processar as

instruções desenvolvidas no arquivo externo, basta

utilizar o seguinte parâmetro na página HTML:

10 /42Desenvolvimento de Aplicações para Internet

<SCRIPT LANGUAGE=“JAVASCRIPT” SRC=“NomeArquivo.js” TYPE=“text/javascript”>

</SCRIPT>

Page 11: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Introdução

� Método para imprimir um texto em uma página html

� Crie um arquivo .js (teste.js) � salve em um diretório scripts

� Digite a codificação� Digite a codificação

� Inclua dentro da tag <head>

11 /42Desenvolvimento de Aplicações para Internet

document.write("Texto inserido com instruções JavaScript");

Exibe uma mensagem. Se for um texto deve vir entre aspas. Se for uma variável tem que vir semaspas

<SCRIPT LANGUAGE=“JAVASCRIPT” SRC=“scripts/teste.js” TYPE=“text/javascript”>

</SCRIPT>

Page 12: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Scripts básicos com entrada/saída de dados

� O script abaixo lê o nome do usuário edá boas-vindas.<body>

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

/* Script de Boas-Vindas */

NOME = prompt (“Entre com seu nome: “ , “Digite-o aqui: ”);

document.write (“Oi “ + NOME );

//ou jogar o valor em um elemento via id

//document.getElementById("demo").innerHTML += NOME;

</script>

</body>

12 /42Desenvolvimento de Aplicações para Internet

Page 13: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Scripts básicos com entrada/saída de dados

� Usando valores numéricos

N1 = prompt("Digite o 1º valor" , "Digite aqui: ");aqui: ");

N2 = prompt("Digite o 2º valor" , "Digite aqui: ");

res = parseInt (N1) + parseInt (N2);

document.write ("Resultado = ", res);

13 /42Desenvolvimento de Aplicações para Internet

Page 14: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

� Introdução

��OperadoresOperadores relacionaisrelacionais

� Estruturas de decisão� Estruturas de decisão

� Estruturas de repetição

� Eventos

� Funções

� Canvas

� Exercícios

14 /42Desenvolvimento de Aplicações para Internet

Page 15: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Operadores relacionais

� Como em Java e C

Símbolo Significado

== Igual a

15 /42Desenvolvimento de Aplicações para Internet

== Igual a

!= Diferente de

> Maior que

< Menor que

>= Maior ou igual a

<= Menor ou igual a

Page 16: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

� Introdução

� Operadores relacionais

�� EstruturasEstruturas dede decisãodecisão�� EstruturasEstruturas dede decisãodecisão

� Estruturas de repetição

� Eventos

� Funções

� Canvas

� Exercícios

16 /42Desenvolvimento de Aplicações para Internet

Page 17: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Estruturas de decisão

� Decisão Simples:if <(condição)>{

/*Instruções para condição verdadeira*/

}}

� Decisão Composta:if <(condição)>{

/*Instruções para condição verdadeira*/}

else{

/*Instruções para condição falsa*/ }

17 /42Desenvolvimento de Aplicações para Internet

Page 18: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Estruturas de decisão

Símbolo Significado

|| Ou (OR)

&& E (AND)

18 /42Desenvolvimento de Aplicações para Internet

! Não (NOT)

Page 19: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Estruturas de decisão

� Exemplo:

switch (mes){

case 1: document.write(“Janeiro”);

break;

case 2:document.write(“Fevereiro”);

break;

......

}

19 /42Desenvolvimento de Aplicações para Internet

Page 20: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

� Introdução

� Operadores relacionais

� Estruturas de decisão� Estruturas de decisão

��EstruturasEstruturas dede repetiçãorepetição

� Eventos

� Funções

� Canvas

� Exercícios

20 /42Desenvolvimento de Aplicações para Internet

Page 21: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Estruturas de repetição

� for

for (condicaoInicial; condicaoFinal; acaoExecutar) {

executa bloco de código ;executa bloco de código ;

}

21 /42Desenvolvimento de Aplicações para Internet

for (i=0; i<= 10; i++) {document.write('Linha '+i);

}

Page 22: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Estruturas de repetição

� while

while ( condicao ) {while ( condicao ) {

bloco de operação

}

22 /42Desenvolvimento de Aplicações para Internet

while (var1 <= 10) {document.write('linha '+var1);var1++;

}

Page 23: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Estruturas de repetição

� do ... while

do {

bloco de operacao

} while (condicao );

23 /42Desenvolvimento de Aplicações para Internet

Page 24: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

� Introdução

� Operadores relacionais

� Estruturas de decisão� Estruturas de decisão

� Estruturas de repetição

��EventosEventos

� Funções

� Canvas

� Exercícios

24 /42Desenvolvimento de Aplicações para Internet

Page 25: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Eventos

� São fatos que ocorrem durante a execução do

sistema, a partir dos quais o programador pode

definir ações a serem realizadas pelo programa.definir ações a serem realizadas pelo programa.

� Segue exemplo...

25 /42Desenvolvimento de Aplicações para Internet

Page 26: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Eventos

<html><head>

<title> Clicar no botão </title></head><body>

<input type =“submit"value ="Clique aqui "

26 /42Desenvolvimento de Aplicações para Internet

value ="Clique aqui "

onclick ='alert( "Ola ");' /></body></html>

Quando for dado um clique no botão é executado o código (em

JavaScript), neste caso:

Page 27: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Eventos

� Um evento é gerado como resultado deuma ação:�Um clique,�Um movimento do mouse,�Um movimento do mouse,�Uma seleção de texto,�O abandono da página�etc.

� O tratamento de eventos é feito por partesde código associados a eventos específicos

27 /42Desenvolvimento de Aplicações para Internet

Page 28: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Eventos

� onload - Ocorre na carga do documento. Ou seja, só

ocorre no BODY do documento.

� onunload - Ocorre na saída do documento. Também� onunload - Ocorre na saída do documento. Também

só ocorre no BODY.

� onchange - Ocorre quando o objeto perde o

focus e houve mudança de conteúdo.

� Válido para os objetos Text, Select e Textarea.

28 /42Desenvolvimento de Aplicações para Internet

Page 29: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Eventos

� onblur - Ocorre quando o objeto perde o focus,independente de ter havido mudança.� Utilizado por exemplo em objetos Text, Select e Textarea.

� onfocus - Ocorre quando o objeto recebe o focus.� onfocus - Ocorre quando o objeto recebe o focus.� Válido para os objetos Text, Select e Textarea.

� onclick - Ocorre quando o objeto recebe um Click doMouse.� Válido para os objetos Button, Checkbox, Radio, Link, Reset e

Submit.

29 /42Desenvolvimento de Aplicações para Internet

Page 30: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Eventos

� onmouseover - Ocorre quando o ponteiro domouse passa por sobre o objeto.� Utilizado por exemplo em Link e Input.

� onselect - Ocorre quando o objeto é selecionado.� onselect - Ocorre quando o objeto é selecionado.� Válido para os objetos Text e Textarea.

� onsubmit- Ocorre quando um botão tipo Submitrecebe um click do mouse.� Válido apenas para o Form.

30 /42Desenvolvimento de Aplicações para Internet

Page 31: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Mais Eventos...

Eventos de mouse Gerados quando o usuário:

onmouseoverMove o ponteiro do mouse para dentro da área deum elemento.

onmouseoutMove o ponteiro do mouse para fora da área deum elemento.

31 /42Desenvolvimento de Aplicações para Internet

onmouseout um elemento.

onmousedown Pressiona qualquer um dos botões do mouse.

onmouseup Libera qualquer um dos botões do mouse.

onmousemove Move o mouse dentro da área de um elemento.

onclickClica o botão esquerdo do mouse sobre umelemento.

ondblclickEfetua um duplo clique com o botão esquerdo domouse sobre um elemento.

Page 32: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Mais Eventos...

Eventos de teclado Gerados quando o usuário:

onkeypress Pressiona e solta uma tecla (o ciclo completo).

32 /42Desenvolvimento de Aplicações para Internet

onkeydownPressiona uma tecla (ainda com a teclaabaixada).

onkeyup Solta uma tecla.

Page 33: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

� Introdução

� Operadores relacionais

� Estruturas de decisão� Estruturas de decisão

� Estruturas de repetição

� Eventos

��FunçõesFunções

� Canvas

� Exercícios

33 /42Desenvolvimento de Aplicações para Internet

Page 34: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Funções

� Uma função é uma sequência de instruções, que só

será executada quando a função for acionada.

� A sintaxe geral é a seguinte:

34 /42Desenvolvimento de Aplicações para Internet

function nome( argumentos) {sequência de instruções

}

Page 35: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Funções

� Exemplo: definindo uma função (de formaexterna) que exiba a mensagem ALÔ MUNDO!!.Essa função será chamada no evento onclick de umbotão

funcoes_javascripts.js

35 /42Desenvolvimento de Aplicações para Internet

function Exibe(){

alert("ALÔ MUNDO!!");}

Salvar no diretório scripts

Page 36: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Funções

<html><head><title> Usando JavaScript</title><script src="../scripts/funcoes_javascripts.js" language="javascript"type="text/javascript"></script></head>

36 /42Desenvolvimento de Aplicações para Internet

</head><body>Chamando uma função javascript no evento onClick do button <BR><input type=“submit" value="Clique Aqui..." onClick="Exibe();"/></body></html>

É possível chamar mais de uma função para o mesmo evento

onfocus="exibe_data();exibe_data_2();"

Page 37: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Funções

� Exemplo 2: Suponha uma função que tenha comoobjetivo informar se uma pessoa é maior ou menorde idade, recebendo como parâmetro a sua idade.

function Idade (Anos) {function Idade (Anos) {if (Anos > 17){ alert ("Maior de Idade") }else{ alert (“Menor de Idade") }}

37 /42Desenvolvimento de Aplicações para Internet

Page 38: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Funções

� No formulário teremos uma caixa de texto parainformar a idade e um button para chamar afunção.

<form>

<input type=text size=2 maxlength=2name=“Ano“ />

<input type=“submit" value= "Ver idade"onClick="Idade(Ano.value)“/>

</form>

38 /42Desenvolvimento de Aplicações para Internet

Page 39: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Funções

� Exemplo 3

<input name="vl1" id="vl1" type="text" value="10"><input name="vl2" id="vl2" type="text" value="5"><input name=" res " id=" res " type =" text " value ="resultado"

39 /42Desenvolvimento de Aplicações para Internet

<input name=" res " id=" res " type =" text " value ="resultado" readonly="true">

<button type="button" onclick=" somaValoresFormulario(vl1,vl2); ">Somar Valores</button>

function somaValoresFormulario(x,y){ soma = parseFloat(x.value) + parseFloat(y.value);alert("Valor da Soma:.. "+soma);document.getElementById("res").value = soma;}

Page 40: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Roteiro

� Introdução

� Operadores relacionais

� Estruturas de decisão� Estruturas de decisão

� Estruturas de repetição

� Eventos

� Funções

�� CanvasCanvas

�Exercícios

40 /42Desenvolvimento de Aplicações para Internet

Page 41: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Canvas – HTML 5

� Canvas é uma nova tag (HTML 5) que permite quese desenhem elementos gráficos usando JavaScript;

� O canvas é “uma tela de bitmap dependente de� O canvas é “uma tela de bitmap dependente deresolução que pode ser usada para a renderizaçãode elementos gráficos ou outras imagens visuaisrapidamente”.

� Pode ser usado para renderizar texto, imagens, gráficos,linhas gradientes e outros efeitos dinamicamente. Desenharna tela se dá através da API de tela 2D. Essa API contémuma variedade de funções que fornecem o poder de sedesenhar praticamente o que se queira na tela. Atualmente, atela suporta uma interface 2D, não 3D.

41 /42Desenvolvimento de Aplicações para Internet

Page 42: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Canvas – HTML 5

�Utilizando a tag canvas<canvas id=“myCanvas” style=“width:300px; height:300 px”></canvas>

�Neste exemplo, foi definida uma área de 300x300

42 /42Desenvolvimento de Aplicações para Internet

Page 43: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Canvas – HTML 5

� Uma página da Web pode ter vários elementos canvas.Individualizar cada tela por ID dá a você o poder de visar umatela específica através de JavaScript.

� Para desenhar em uma tela, você precisa fazer referência aocontexto dela. O contexto fornece a você acesso àscontexto dela. O contexto fornece a você acesso àspropriedades e métodos 2D que permitem desenhar emanipular imagens em um elemento canvas.

� Todo elemento canvas têm coordenadas x e y, sendo x acoordenada horizontal e y a vertical.

43 /42

Page 44: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Canvas – API da tela 2D

var myCanvas = document.getElementById(“myCanvas”);

var context = myCanvas.getContext(“2d”);

� Além de getContext, há muitas outras funções à sua� Além de getContext, há muitas outras funções à sua

disposição na API de tela 2D. Consultar o site

44 /42Desenvolvimento de Aplicações para Internet

https://msdn.microsoft.com/pt-br/library/dn151487.aspx

Page 45: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Canvas

�Funções para trabalhar com formas e

cores – desenhando um retângulo

45 /42Desenvolvimento de Aplicações para Internet

var canvas = document.getElementById(“myCanvas”);var context = canvas.getContext(“2d”);context.fillRect(5, 5, 145, 145);

Page 46: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Exemplo Canvas

�Exemplo: desenhando um retângulo

a partir das coordenadas do mouse

46 /42Desenvolvimento de Aplicações para Internet

Page 47: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Exemplo Canvas

�HTML

<!DOCTYPE html><html>

47 /42Desenvolvimento de Aplicações para Internet

<html><head><script type="text/javascript" src="js/funcoes.js"></script></head><body><canvas id="myCanvas" width="600" height="400" style="border:1px solid #000000;"

onclick="desenha_retangulo(event)"></canvas> </body></html>

Define o canvas e a chamada da função a partir do evento

onclick

Notem que a função recebe como parâmetro o event,

responsável por retornar as coordenadas X,Y

Page 48: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Exemplo Canvas

�Funcoes.js

function desenha_retangulo(e){

- Recebe contexto atual – a partir do myCanvas (id do html)- chama os métodos para configurar o estilo e

48 /42Desenvolvimento de Aplicações para Internet

{x1 = e.clientX;y1 = e.clientY;var c = document.getElementById("myCanvas");var ctx = c.getContext("2d");ctx.fillStyle = "#FF0000";ctx.fillRect(x1,y1,x1+50,y1+50);

}

configurar o estilo e desenhar o retângulo.

Page 49: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Exemplo Canvas

�Resultado

49 /42Desenvolvimento de Aplicações para Internet

Page 50: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Exercícios

1. Crie um script (função) que receba o valor dos 3 lados de um triânguloe retorne se o mesmo é equilátero, isósceles ou escaleno.

2. Manipule o objeto Date()

� Informe:

� Dia do mês, dia da semana por extenso, mês por extenso, ano, hora, e se é AM

ou PM

3. Modifique seu site, adicionando os conceitos vistos em aula (faça

validações nos campos do formulário, inclua funções, exiba a

data/hora/dia da semana, ...)

4. Faça uma página que ofereça métodos para desenhar formas

geométricas e linhas – rumo ao Paint!!!

50 /42Desenvolvimento de Aplicações para Internet

Page 51: Desenvolvimento de Aplicações para Internet...Desenvolvimento de Aplicações para Internet 4/42 Introdução Paraqueserveatecnologia Javascript? Foi projetada para aumentar interatividade

Na próxima aula

� Linguagem PHP

51 /42Desenvolvimento de Aplicações para Internet