Professional Documents
Culture Documents
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Programacao Web
Javascript
Ivo Calado
Instituto Federal de Educac
ao, Ci
encia e Tecnologia de Alagoas
10 de Novembro de 2015
1 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Roteiro
Introducao
Basico do JavaScript
JavaScript avancado
JavaScript avancado II
2 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
3 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
3 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
3 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
3 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
Curiosidades
4 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
Curiosidades
4 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
O que
e Javascript
Curiosidades
4 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Hello World!
Hello World
Para adicionar algum script JavaScript basta fazer uso da tag
script tendo como valor do campo type: text/javascript
<html>
<body>
< s c r i p t type=" text / javascript ">
document . w r i t e ( " <h1 > Hello World ! </ h1 >" ) ;
</ s c r i p t>
</ body>
</ html>
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Hello World!
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Onde colocar o c
odigo JavaScript?
No HEAD?
Scripts colocados na secao HEAD nao sao executados
imediatamente e devem ser localizados em funcoes!
7 / 83
<html>
<head>
< s c r i p t type=" text / javascript ">
f u n c t i o n message ( )
{
a l e r t ( " This alert box was called with the onload event "
);
}
</ s c r i p t>
</ head>
<body on l oa d=" message () ">
</ body>
</ html>
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Onde colocar o c
odigo JavaScript?
No Body?
Se voce nao deseja que seu script esteja em uma funcao ou
que ele seja destinado a escrever conte
udo na tela entao
coloque-o na secao body!
<html>
<head></ head>
<body>
< s c r i p t type=" text / javascript ">
document . w r i t e ( " This message is written by
JavaScript " ) ;
</ s c r i p t>
</ body>
</ html>
8 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Onde colocar o c
odigo JavaScript?
9 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Comandos
10 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Comandos
11 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Comandos
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Usando variaveis
ou $
13 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
14 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
15 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Arrays
Em JavaScript e possvel criar array para armazenamento de
diversos tipos de objetos
Os objetos nao precisam ser do mesmo tipo
Existem 4 tipos de instanciacao!
var
var
var
var
myCars=new A r r a y ( ) ;
myCars=new A r r a y ( 1 0 ) ;
myCars=new A r r a y ( " Saab " , " Volvo " , " BMW " ) ;
myCars =[" Saab " , " Volvo " , " BMW " ] ;
16 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Indexando arrays
17 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Unindo arrays
18 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Exerccio
Pesquisar e criar exemplos para os seguintes metodos de um array:
push
pop
reverse
shift
slice
sort
unshift (se possvel, testar no Firefox e IE)
20 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
O objeto String
Em JavaScript o objeto String possui as seguintes
propriedades/metodos
length
toUpperCase()
big()
small()
bold()
italics()
fixed()
strike()
etc
21 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
22 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Operadores aritmeticos
23 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Operadores aritmeticos
23 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Concatenacao de strings
O operador + pode ser utilizado tambem no processo de
concatenacao de strings
Se pelo menos um dos operandos for uma string entao sera
realizado a concatenacao
v1 = 20
v2 = " 11 "
v3 = v1 + v2
24 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Operadores de comparacao
JavaScript especifica 7 operadores de comparacao: ==,
===, !=, >, <, >=, <= e
< s c r i p t type=" text / javascript ">
x = 5
p r i n t l n ( x == 5 )
p r i n t l n ( x == "5" )
p r i n t l n ( x === 5 )
p r i n t l n ( x === "5" )
</ s c r i p t>
25 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Operadores de comparacao
JavaScript especifica 7 operadores de comparacao: ==,
===, !=, >, <, >=, <= e
< s c r i p t type=" text / javascript ">
x = 5
p r i n t l n ( x == 5 )
p r i n t l n ( x == "5" )
p r i n t l n ( x === 5 )
p r i n t l n ( x === "5" )
</ s c r i p t>
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Usando vari
aveis
Operadores ternario
Assim como Java e C++, em JavaScript e possvel fazer uso do
operador ternario.
Qual o resultado da variavel valor ap
os a execucao do seguinte
script?
< s c r i p t type=" text / javascript ">
x = 5
v a l o r = ( x != 5 ) ? " string de teste " : 10
</ s c r i p t>
26 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
Exemplo if-else
<html>
<body>
< s c r i p t type=" text / javascript ">
v a r d = new Date ( ) ;
var time = d . getHours () ;
i f ( time < 12)
{
document . w r i t e ( " <b > Bom dia </b >" ) ;
} else
document . w r i t e ( " <b > Boa tarde </b >" ) ;
</ s c r i p t>
</ body>
</ html>
28 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
Exerccio
Criar uma pagina HTML que possua um script JavaScript que faz
uso da funcao Math.random() para gerar n
umeros aleatorios e
caso o valor for maior que 0.5 criar o link para a pagina do Google.
Caso contrario, redirecionar para a pagina globo.com .
29 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
Exerccio II
30 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
O comando For
Em JavaScript, a estrutura for segue a mesma sintaxe da
linguagem Java
f o r ( v a r=s t a r t v a l u e ; v a r<=e n d v a l u e ; v a r=v a r+i n c r e m e n t )
{
// c o d i g o a s e r e x e c u t a d o
}
31 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
O comando For
Em JavaScript, a estrutura for segue a mesma sintaxe da
linguagem Java
f o r ( v a r=s t a r t v a l u e ; v a r<=e n d v a l u e ; v a r=v a r+i n c r e m e n t )
{
// c o d i g o a s e r e x e c u t a d o
}
31 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
Exerccio
32 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
33 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
33 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Controle de fluxo
for..in
A estrutura for..in tem a mesma semantica do for extendido
do Java
Visa realizar iteracao sobre arrays e listas
var x ;
v a r m y c a r s = new A r r a y ( ) ;
m y c a r s [ 0 ] = " Saab " ;
m y c a r s [ 1 ] = " Volvo " ;
m y c a r s [ 2 ] = " BMW " ;
f o r ( x i n mycars )
{
document . w r i t e ( m y c a r s [ x ] + " <br />" ) ;
}
34 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
35 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Caixas Popup
Caixas Popup
36 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Caixas Popup
Alert Box
<head>
< s c r i p t type=" text / javascript ">
function show alert ()
{
a l e r t ( " Hello ! I am an alert box !" ) ;
}
</ s c r i p t>
</ head>
<body>
<i n p u t type=" button " o n c l i c k=" show_alert () " v a l u e=" Show
alert box " />
</ body>
37 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Caixas Popup
Confirm Box
<html> <head>
< s c r i p t type=" text / javascript ">
function show confirm () {
v a r r=c o n f i r m ( " Press a button !" ) ;
i f ( r==t r u e ) {
a l e r t ( " You pressed OK !" ) ;
} else {
a l e r t ( " You pressed Cancel !" ) ;
}
}
</ s c r i p t> </ head>
<body>
<i n p u t type=" button " o n c l i c k=" show_confirm () " v a l u e=
" Show a confirm box " />
</ body> </ html>
38 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Caixas Popup
Prompt Box
<html>
<head>
< s c r i p t type=" text / javascript ">
function disp prompt () {
v a r fname=prompt ( " Please enter your name :" , " Your name
")
a l e r t ( fname ) ;
}
</ s c r i p t>
</ head>
<body>
<i n p u t type=" button " o n c l i c k=" disp_prompt () " v a l u e="
Display
a prompt box " />
</ body> </ html>
39 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Func
oes
Funcoes
Funcoes em JavaScript tem o mesmo prop
osito que em
linguagens como Java e C++
Possibilitam o re
uso de c
odigo
Funcoes podem ser definidas no HEAD, BODY ou num
arquivo externo .js, porem recomenda-se nao adicionar na
secao BODY
f u n c t i o n n o m e d a f u n c a o ( v a r 1 , v a r 2 , . . . , varX )
{
some c o d e
}
40 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Func
oes
41 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
Eventos
42 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
Eventos
43 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
Exemplos de Eventos
Clique do mouse
Carregamento de uma pagina Web ou imagem
Mover o mouse sobre uma certa area da pagina Web
Selecionar um campo de entrada de dados em um formulario
Submeter um formulario
44 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
Exemplos de Eventos
Clique do mouse
Carregamento de uma pagina Web ou imagem
Mover o mouse sobre uma certa area da pagina Web
Selecionar um campo de entrada de dados em um formulario
Submeter um formulario
Eventos sao normalmente usados em combinac
oes com funcoes e,
portanto, a funcao nao sera executado ate que o evento seja
lancado
44 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
45 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
46 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
Evento OnSubmit
47 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
48 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Eventos
Evento OnClick
49 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Tratamento de exceco
es
Tratamento de Excecoes
50 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Tratamento de exceco
es
Tratamento de excecoes
Assim como outras linguagens de programacao, JavaScript
oferece suporte ao tratamento de erros atraves do uso de
excecoes
A sintaxe em JavaScript e bastante semelhante ao que
acontece em C++ e Java
try {
// B l o c o que pode l a n c a r e x c e c
ao
} catch ( ex ) {
// Tratamento de e x c e c
ao
s t r = e x . message // r e c u p e r a o e r r o g e r a d o
}
51 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Tratamento de exceco
es
A clausula throw
Alem de capturar excec
oes, podemos lanca-las
Para tal, fazemos uso da clausula throw
Ela possui a mesma semantica do comando analogo, em Java,
throw!
i f ( x >10)
{
t h r o w " Err1 " ;
} else
i f ( x<0 ) {
t h r o w " Err2 " ;
}
52 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Tratamento de exceco
es
Exerccio! :)
Pesquisar sobre o objeto navigator
Qual a funcao deste objeto?
53 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Tratamento de exceco
es
Exerccio! :)
Pesquisar sobre o objeto navigator
Qual a funcao deste objeto?
O objeto navigator contem todas as informac
oes sobre o browser
visitante, como:
Nome da aplicacao
Versao do navegador
Plataforma
etc
53 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
Tratamento de exceco
es
Exerccio 2! :)
54 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
HTML DOM
55 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
O que e?
O que e?
56 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
O que e?
O que e?
De acordo com o W3C o DOM (Documento Object Model) e
definido como:
The W3C Document Object Model (DOM) is a platform and
language-neutral interface that allows programs and scripts to
dynamically access and update the content, structure, and style of
a document.
56 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
O que e?
O que e?
De acordo com o W3C o DOM (Documento Object Model) e
definido como:
The W3C Document Object Model (DOM) is a platform and
language-neutral interface that allows programs and scripts to
dynamically access and update the content, structure, and style of
a document.
Em resumo HTML DOM == HTML + DOM
56 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Em outras palavras...
57 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Nos DOM
58 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Exemplo
<html>
<head>
< t i t l e>DOM T u t o r i a l</ t i t l e>
</ head>
<body>
<h1>DOM L e s s o n one</h1>
<p>H e l l o w o r l d !</p>
</ body>
</ html>
59 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
60 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
x.innerHTML - conte
udo textual de x
x.nodeName - o nome de x
x.nodeValue - o valor do x
x.parentNode - referencia ao elemento pai de x
x.childNodes - Nos filhos de x
x.attributes - nos atributos de x
61 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
A propriedade innerHTML
utilizado para recuperar ou substituir o conte
E
udo de um
elemento HTML, inclusive <html> e <body>
Pode ser utilizada tambem para visualizar o codigo fonte de
uma pagina alterada dinamicamente
<p i d=" intro ">H e l l o World !</p>
< s c r i p t type=" text / javascript ">
t x t=document . g e t E l e m e n t B y I d ( " intro " ) . innerHTML ;
document . w r i t e ( " <p > The text from the intro paragraph :
" + t x t + " </p >" ) ;
</ s c r i p t>
62 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
63 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Acessando Nos
64 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
getElementById
65 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
getElementsByTagName
Retorna todos os elementos da tag passada por parametro
document . getElementsByTagName ( "p" ) ;
o s e l e m e n t o s p do HTML
66 / 83
Programac
ao Web
Ivo Calado
// R e t o r n a t o d o s
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
getElementsByTagName
Retorna todos os elementos da tag passada por parametro
document . getElementsByTagName ( "p" ) ;
o s e l e m e n t o s p do HTML
// R e t o r n a t o d o s
Qual o significado do c
odigo abaixo?
document . g e t E l e m e n t B y I d ( main ) . getElementsByTagName ( "p
") ;
66 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
getElementsByTagName
Retorna todos os elementos da tag passada por parametro
document . getElementsByTagName ( "p" ) ;
o s e l e m e n t o s p do HTML
// R e t o r n a t o d o s
Qual o significado do c
odigo abaixo?
document . g e t E l e m e n t B y I d ( main ) . getElementsByTagName ( "p
") ;
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Exerccio
67 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
68 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Exemplo 2
<html>
<body>
<p i d=" p1 ">H e l l o World !</p>
< s c r i p t type=" text / javascript ">
document . g e t E l e m e n t B y I d ( " p1 " ) . innerHTML=" New text !" ;
</ s c r i p t>
</ body>
</ html>
69 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
70 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
JavaScript + CSS
Em JavaScript as regras CSS podem ser customizadas
durante a execucao
Para isso, faz-se uso da propriedade style de cada elemento
< s c r i p t type=" text / javascript ">
f u n c t i o n ChangeStyle ()
{
document . g e t E l e m e n t B y I d ( " p1 " ) . s t y l e . c o l o r=" blue " ;
document . g e t E l e m e n t B y I d ( " p1 " ) . s t y l e . f o n t F a m i l y=" Arial
";
}
</ s c r i p t>
71 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
HTML DOM
Exerccio
72 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
O que e AJAX
Asynchronous JavaScript and XML
uma tecnica para criar paginas web de maneira rapida e
E
dinamicas
Possibilita que as paginas Web sejam atualizadas
assincronamente pela troca de pequenos pedacos de
informacao entre o servidor
Torna possvel a atualizacao de pedacos da pagina Web, sem
a necessidade de atualizacao da pagina inteira
Paginas Web antigas por outro lado devem recarregar a
pagina inteira se alguma parte precisar ser atualizada
Exemplos de aplicac
oes com AJAX: Google Maps, Gmail,
Youtube, Facebook etc
73 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
74 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
75 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
O objeto XMLHttpRequest
Todos os navegarores modernos suportam o objeto
XMLHttpRequest (IE5 e IE6 usam um objeto semelhante
ActiveXObject)
O objeto XMLHttpRequest e utilizado para a troca de dados
entre o servidor e o cliente
Como criar um objeto XMLHttpRequest?
variable = newXMLHttpRequest();
Como criar um objeto ActiveXObject?
variable = newActiveXObject(Microsoft.XMLHTTP 00 );
76 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
var xmlhttp ;
i f ( window . XMLHttpRequest ) {
// c o d e f o r I E 7 +, F i r e f o x , Chrome , Opera , S a f a r i
x m l h t t p=new XMLHttpRequest ( ) ;
} e l s e {// c o d e f o r IE6 , I E 5
x m l h t t p=new A c t i v e X O b j e c t ( " Microsoft . XMLHTTP " ) ;
}
77 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
78 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
79 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
Async = false
81 / 83
Programac
ao Web
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
Async = true
xmlhttp . onreadystatechange = f u n c t i o n () {
i f ( x m l h t t p . r e a d y S t a t e == 4 && x m l h t t p . s t a t u s ==
200) {
document . g e t E l e m e n t B y I d ( " test " ) . innerHTML =
xmlhttp . responseText ;
}
}
x m l h t t p . open ( " GET " , " http :// localhost :8080/ ExemploHora /
gethora " , t r u e ) ;
xmlhttp . send ( ) ;
Ivo Calado
IFAL
Introduc
ao
B
asico do JavaScript
JavaScript avancado
JavaScript avancado II
AJAX
O evento onreadystatechange
O evento onreadystatechange e disparado toda vez que o
status da requisicao muda
O status da requisicao e armazenado no atributo readyState
do objeto XMLHttpRequest e pode possuir os seguintes
valores:
0:
1:
2:
3:
4:
Ivo Calado
IFAL