SlideShare una empresa de Scribd logo
1 de 92
Descargar para leer sin conexión
Victor Adriel
 Victor Adriel de J. Oliveira
 Associação Empresa Júnior de Computação:
◦ 2008 – Trainee
◦ 2009 – Diretor Administrativo/Financeiro
◦ 2010 – Conselheiro Fiscal
 Programação Web:
[HTML/CSS (tableless), jQuery, PHP, Smarty]
 Contato: victorajoliveira@gmail.com
 blogvictoradriel.blogspot.com
 O que é
 Sintaxe
◦ Seletores
◦ Manipulação do DOM
◦ CSS
◦ Eventos
◦ Efeitos
◦ Formulários
 jQuery UI
 Práticas
 É uma biblioteca JavaScript disponibilizada
como software livre e aberto, desenvolvida
para mudar a forma de escrever JavaScript.
 “O foco principal da biblioteca jQuery é a
simplicidade. Por que submeter os
desenvolvedores ao martírio de escrever
longos e complexos códigos para criar
simples efeitos?” (John Resig, jQuery in Action)
 22/08/2005
◦ “The premise for the module is as follows: Using
the power of Pseudo-CSS Selectors, bind your
Javascript functions to various HTML elements in
the DOM. Looking at how Behaviour works, I've
never been completely happy - it simply seems too
tedious and verbose for everyday use.” (John Resig)
 14/01/2006
◦ jQuery: New Wave Javascript
 22/08/2005
◦ “The premise for the module is as follows: Using
the power of Pseudo-CSS Selectors, bind your
Javascript functions to various HTML elements in
the DOM. Looking at how Behaviour works, I've
never been completely happy - it simply seems too
tedious and verbose for everyday use.”
 14/01/2006
◦ jQuery: New Wave Javascript
“Jquery is like behaviour that has been sent back from
the future by a secret fucking government lab”
Zombieland
 Utiliza seletores CSS para acessar e manipular
o DOM;
 Alheio às inconsistências de renderização
entre navegadores;
 Extensível;
 Provê interatividade;
 Simplifica tarefas específicas de JavaScript.
 HTML DOM:
◦ O HTML DOM define objetos e propriedades para
todos os elementos HTML, e os métodos (interface)
para acessá-los.
◦ Em outras palavras: o HTML DOM é um padrão para
acesso, atualização, adição ou deleção de
elementos HTML.
 Propriedades do HTML DOM:
◦ x.innerHTML – texto do elemento x
◦ x.nodeName – nome do elemento x
◦ x.nodeValue – valor do elemento x
◦ x.parentNode – pai do elemento x
◦ x.childNodes – filhos do elemento x
◦ x.attributes – atributos do elemento x
 Métodos do HTML DOM:
◦ x.getElementById(id)
 Captura o elemento com um id específico
◦ x.getElementsByTagName(name)
 Captura todos os elementos com o mesmo comando
◦ x.appendChild(node)
 Insere um novo nó filho no elemento x
◦ x.removeChild(node)
 Remove um nó filho do elemento x
 Métodos do HTML DOM:
<html>
<body>
<p id="intro">Hello World!</p>
<script type=“text/javascript”>
txt=document.getElementById("intro").innerHTML;
alert("O texto do paragrafo com o id 'info': " + txt);
</script>
</body>
</html>
 Métodos do HTML DOM:
<html>
<body>
<p id="intro">Hello World!</p>
<script type=“text/javascript”>
txt=document.getElementById("intro").innerHTML;
alert("O texto do paragrafo com o id 'info': " + txt);
</script>
</body>
</html>
Var txt = $(‘#intro’).val();
Com jQuery
 Ir ao site: http://jquery.com
 Fazer download da biblioteca
 Linkar na página HTML:
<head>
<script type=“text/javascript”
src=“/caminho/jquery-vs.js”></script>
</head>
 Minified
◦ jquery-1.6.4.min.js
◦ Compacto e de leitura difícil
 Uncompressed
◦ jquery-1.6.4.js
◦ Espaço entre cada linha de código e amplamente
comentado.
 JavaScript in-line:
◦ CSS
<style type=“text/css”>
h1 { color:#090; }
</style>
◦ HTML com o JavaScript in-line
<h1 id=“cor”>Cabeçalho muda de cor</h1>
<button type=“button”
onclick=“document.getElementById(‘cor’).style.color
=‘#F00’;”>Vermelha</button>
 Função JavaScript:
<script type=“text/javascript”>
function mudaCor() {
document.getElementById(‘cor’).style.color=‘#F00’;
}
</script>
◦ HTML
<h1 id=“cor”>Cabeçalho muda de cor</h1>
<button type=“button”
onclick=“mudaCor();”>Vermelha</button>
 JavaScript fora da marcação:
<script type=“text/javascript”>
Window.onload = function(){
Document.getElementById(‘btnRed’).onclick =
mudaCor;
}
function mudaCor() {
document.getElementById(‘cor’).style.color=‘#F00’;
}
</script>
 JavaScript fora da marcação:
◦ HTML
<h1 id="cor">Cabeçalho muda de cor</h1>
<button type="button"
id=“btnRed">Vermelha</button>
 jQuery:
<script type="text/javascript"
src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#btnRed").click(function () {
$("#cor").css("color","#FF0000");
});
});
</script>
 Método ready()
◦ No javascript
window.onload = function(){
Do this;
}
◦ No jQuery
$(document).ready(function(){
Do this;
});
 Construtor jQuery
◦ $( )
◦ jQuery( )
 jQuery.noConflict( )
◦ Usa o alias jQuery ou outro de sua preferência
 jQuery adota os seletores CSS 3! #ôPelaDoido
 É necessário rever a terminologia aplicada aos
elementos que compõem a árvore do
documento.
 HTML DOM
 Categorias:
◦ Básicos
◦ De atributo
◦ Hierárquicos
◦ Filtros
 Básicos
 De conteúdo
 Por visibilidade
 De filhos
◦ De formulários
 Básicos
◦ Universal
 $(“*”)
◦ De elemento
 $(“p”)
◦ De múltiplos elementos
 $(“p, h1, img”)
 Básicos
◦ De classe
 $(“.class”)
◦ De ID
 $(“#id”)
 De atributo
 $(‘[nome]’)
 $(‘[nome = “valor”]’)
 $(‘[nome != “valor”]’)
 $(‘[nome ^= “valor”]’)
 $(‘[nome |= “valor”]’)
 De atributo
 $(‘[nome *= “valor”]’)
 $(‘[nome ~= “valor”]’)
 $(‘[nome $= “valor”]’)
 $(‘[nome = “valor”][nome2 = “valor2”]’)
 Hierárquicos
 $(“ancestral descendente”)
 $(“pai > filho”)
 $(“anterior + posterior”)
 $(“elemento ~ irmãos”)
 Atributos gerais
◦ .attr( nomeAtributo )
.attr( nomeAtributo, valor )
Ex: $(‘input’).attr(‘disabled’, ‘disabled’)
◦ .prop( nomePropriedade )
.prop( nomePropriedade, valor )
Ex: $(‘input’).prop({
disabled: true
});
◦ .removeAttr( nomeAtributo )
◦ .removeProp( nomePropriedade )
Ex: $(“input”).removeProp(“checked”);
◦ .val( )
.val( valor )
Ex: $(“input”).val(‘Digite seu nome’);
 Atributos de classe
◦ .addClass( nomeClasse )
◦ .removeClass( [nomeClasse] )
◦ .hasClass( nomeClasse )
◦ .toggleClass( nomeClasse )
.toggleClass( nomeClasse, switch )
.toggleClass( [switch] )
 HTML
<body>
<img src=" http://goo.gl/kQBXL"
alt="Yao Ming" />
<div class="info"></div>
</body>
 jQuery
$(document).ready(function(){
var atrAlt = $('img').attr('alt');
$('div').text(atrAlt );
$('img').attr('title','Você perdeu a
capacitação?');
});
 CSS
<style type=“text/css”>
.info{ color: red; }
.highlight { background: yellow; }
</style>
 jQuery
$('div').removeClass('info');
 jQuery
$('div').removeClass('info').addClass('highlight');
 jQuery
$('div').removeClass('info').addClass('highlight');
var ctd=0;
$('div').click(function( ){
ctd++;
$('div').toggleClass('highlight', ctd % 3 == 0);
});
 Inserção no DOM (Outside)
◦ .after( )
◦ .before( )
Ex: $("p").before("<b>Hello</b>");
◦ .insertAfter( )
◦ .insertBefore( )
Ex: $("p").insertBefore("#smthng");
 Inserção no DOM (Inside)
◦ .append( )
◦ .prepend( )
Ex: $("p").prepend("<b>Hello</b>");
◦ .appendTo( )
◦ .prependTo( )
Ex: $("p").prependTo("#smthng");
 Inserção no DOM (Inside)
◦ .html( )
◦ .text( )
Ex:
◦ $(“div").html(“<button>botão</button>”);
◦ $(“div").text (“<button>botão</button>”);
 Inserção no DOM (Around)
◦ .wrap( )
◦ .wrapAll( )
◦ .wrapInner( )
◦ CSS
div { border: 2px solid blue; }
p { background:yellow; margin:4px; }
◦ HTML
<p>Hello</p>
◦ jQuery
$("p").wrap("<div></div>");
 Remoção no DOM
◦ .unwrap( )
 Remove o pai e coloca o filho no lugar
◦ .empty( )
 Remove conteúdo do elemento
◦ .detach( )
 Remove elementos mas permite recuperá-los
◦ .remove( )
 Remove elementos completamente
 Substituição no DOM
◦ .replaceAll( )
◦ .replaceWith( )
Ex:
◦ $("<b>Paragraph. </b>").replaceAll("p");
◦ $("p").replaceWith("<b>Paragraph. </b>");
 Cópias
◦ .clone( )
 HTML
<label>Colaboradores:</label>
<select class="copy" style="display:block;">
<option value="0">Selecione um...</option>
<option value="1">Ana</option>
<option value="2">João</option>
<option value="3">Maria</option>
</select>
<button id="novoColaborador">More</button>
<button id="removColaborador">Less</button>
 jQuery
$('#novoColaborador').click(function( ){
$('.copy:last').clone( ).appendTo('body');
});
$('#removColaborador').click(function( ){
$('.copy:last').remove( );
});
 Propriedades de estilo
◦ .css( )
Ex:
◦ Var back = $(“div").css("background-color");
◦ $("p").css("color","red");
◦ $( this ).css({"width" : "+=100", "color" : "red"});
 Dimensionamento
◦ .height( ) / .width( )
◦ .innerHeight( ) / .innerWidth( )
◦ .outerHeight( ) / .outerWidth( )
 Dimensionamento
◦ .height( ) / .width( )
◦ .innerHeight( ) / .innerWidth( )
◦ .outerHeight( ) / .outerWidth( )
 Dimensionamento
◦ .height( ) / .width( )
◦ .innerHeight( ) / .innerWidth( )
◦ .outerHeight( ) / .outerWidth( )
 Offset
◦ .offset( )
◦ .position( )
Ex:
var pos = $("p").position( );
alert( pos.left );
◦ .scrollLeft( ) / .scrollTop( )
Ex: $(“div").scrollLeft(300);
 Diferença entre offset e position:
◦ CSS
div { padding: 15px;}
p { margin-left:10px; }
◦ HTML
<div><p>Hello</p></div>
<p></p>
◦ jQuery
var pos = $("p:first").position( );
$("p:last").text( "left: "+ pos.left + ", top: "+
pos.top );
◦ CSS
#box {background: black; color: #fff; width:100px;}
◦ HTML
<div id="box">Click me to grow</div>
◦ jQuery
$("#box").click(function ( ) {
$( this ).css( "width","+=200" );
});
 Eventos do mouse
◦ .click( )
 Ativado com um clique
◦ .dblclick( )
 Ativado com um duplo clique
◦ .hover( )
 Ativado quando o cursor estiver sobre o elemento
◦ .mousemove( )
 Ativado com o movimento do mouse
 Eventos do mouse
◦ .mousedown( ) / .mouseup( )
 Ativado com pressionar/soltar o clique
◦ .mouseenter( ) / .mouseleave( )
 Cursor passa sobre ou deixa o elemento
◦ .mouseover( ) / .mouseout( )
 Cursor passa sobre ou sai dos elementos filhos
◦ .toggle( )
 Ativa funções em cliques alternados
 Vamos usar o jsbin para treinar
<body>
<p>Pressione o mouse aqui.</p>
<script>
$("p").mouseup(function( ){
$(this).append('<span style="color:#F00;">Up.</span>');
}).mousedown(function(){
$(this).append('<span style="color:#00F;">Down.</span>');
});
</script>
</body>
 Eventos do teclado
◦ .focusin( )
 Ativado com o foco no elemento
◦ .focusout( )
 Ativado com a perda do foco no elemento
◦ .keypress( )
 Ativado com o pressionar de qualquer tecla
◦ .keyup( ) / .keydown( )
 Ativado com o pressionar/soltar a tecla
var estado=0;
$(‘body’).keypress(function(tecla){
switch( estado ){
case 0:
if(tecla.which==116){ estado++; } else { estado=0; }
break;
case 1:
if(tecla.which==101){ estado++; } else { estado=0; }
break;
case 2:
if(tecla.which==99){
alert(“ Vc digitou ‘tec’? ”);
} estado=0;
}
});
 Além dos eventos do mouse e teclado vocês
devem estudar mais sobre:
 Event Handler Attachment
 Objetos de eventos
 Eventos do browser
 Carregando o documento
 Agora vamos brincar um pouquinho ^^
 Acesse esse link: http://goo.gl/dLYCO
e baixe o arquivo que vamos usar.
 Vamos incrementar a página usando jQuery
 O que for digitado na caixa de texto deve
aparecer na tela.
 Categorias
◦ Básicos
◦ De opacidade
◦ Corrediços
◦ De customização
 Básicos
◦ .hide( )
◦ .show( )
◦ .toggle( )
 Opacidade
◦ .fadeIn( )
◦ .fadeOut( )
◦ .fadeTo( )
◦ .fadeToggle( )
 Corrediços
◦ .slideDown( )
◦ .slideUp( )
◦ .slideToggle( )
 HTML
<div>
<h3>Titulo 1</h3>
<p>texto 1. Texto, texto e mais texto</p>
</div>
 jQuery
$('p').hide( );
$('h3').click(function( ){
$('p').hide( );
$(this).parent( ).find('p').show( );
});
 HTML
<div>
<h3>Titulo 1</h3>
<p>texto 1. Texto, texto e mais texto</p>
</div>
 jQuery
$('p').hide( );
$('h3').click(function( ){
$('p').hide( );
$(this).parent( ).find('p').show( );
}); Agora teste outros métodos:
.fadeIn( ) e .fadeOut( )
.slideDown( ) e .slideUp( )
 Customização
◦ .animate( )
◦ .delay( )
◦ .stop( )
◦ CSS
div {
background-color:#abc;
width:90px;
height:90px;
margin:5px;
font-size:1px;
}
◦ HTML
<button id="left">&laquo;</button>
<button id="right">&raquo;</button>
<div class="block">x</div>
◦ jQuery
$("#right").click(function( ){
$(".block").animate({"margin-left": "+=200px"}, "slow");
});
$("#left").click(function( ){
$(".block").animate({"margin-left": "-=200px"}, "slow");
});
◦ HTML
<button id="go">elem x</button>
◦ jQuery
$("#go").click(function( ){
$(".block").animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "5em",
borderWidth: "10px"
}, 1500 );
});
◦ HTML
<button id=“stop">STOP</button>
◦ jQuery
$("#stop").click(function( ){
$(".block").stop( );
});
 Baixe o arquivo: http://goo.gl/eo7MJ
◦ Ajude o Mário a chegar ao outro lado usando o
método animate() do jQuery.
 Seletores para formulários:
◦ :button
◦ :checkbox
◦ :input
◦ :text
◦ :radio
◦ :submit
◦ :reset
◦ :password
◦ :selected
◦ ...
 Seletores para formulários:
◦ :button
◦ :checkbox
◦ :input
◦ :text
◦ :radio
◦ :submit
◦ :reset
◦ :password
◦ :selected
◦ ...
Ex:
$(“input:password”).css(“color”, “#CCC”);
 Eventos relacionados a formulários:
◦ .blur( )
◦ .change( )
◦ .focus( )
◦ .select( )
◦ .submit( )
◦ HTML
<form>
<input type="text" name="busca" />
</form>
◦ jQuery
$("input[name='busca']").val('Busca').css('color','#CCC')
.focus(function( ){
$(this).val('').css('color','#000');
}).blur(function( ){
$(this).val('Busca').css('color','#CCC');
});
 Vamos baixar o formulário e incrementá-lo
usando o jQuery. (http://goo.gl/Feq7L)
 Começaremos analisando o código HTML do
formulário.
// Dicas de preenchimento
$(‘input + span').hide( );
$(".obrigatorio").blur(function( ){
var val = $(this).val( );
if(val == ""){
$(this).next( ).show( );
}else{
$(this).next( ).hide( );
}
});
//Desabilitar campos
$("#nao").change(function( ){
$("input[name='local']").val("")
.attr('disabled','disabled');
});
$("#sim").change(function( ){
$("input[name='local']")
.removeAttr('disabled');
});
//Selecionar todos
$("#all").click(function( ){
if(this.checked){
$(".curso").attr('checked','checked');
}else{
$(".curso").removeAttr('checked');
}
});
//Validar
$("form").submit(function( ) {
var nome = $("input[name='nome']").val( );
var nasc = $("input[name='data']").val( );
var mail = $("input[name='email']").val( );
if(nome == ‘’){
alert("Preencha o campo nome.");
return false;
}
if(mail == ‘’){
alert("Preencha o campo email.");
return false;
}
if((nasc != ‘’)&&(! nasc.match(
/^[0-9]{2}/[0-9]{2}/[0-9]{4}$/))){
alert("Data de nascimento inválida.");
return false;
}
return true;
});
 Provê abstrações para interações e animações
de baixo-nível, efeitos avançados e
ferramentas personalizáveis construídas
sobre a biblioteca jQuery.
 Interações
◦ Draggable
◦ Droppable
◦ Resizable
◦ Selectable
◦ Sortable
 Widgets
◦ Accordion
◦ Autocomplete
◦ Button
◦ Datepicker
◦ Dialog
◦ Progressbar
◦ Slider
◦ Tabs
var nomes= [
"Beatriz Silva",
"Eduardo Dantas",
"Ivan Cezanne",
"Janai Maciel",
"José Adão",
"Newton Costa",
"Thiago Evangelista"];
$( "input[name='nome']" )
.autocomplete({ source: nomes });
 HTML
<div id="dialog" title="Muaahaa">
<p>Cuidado: Vírus! Não feche essa pop-up.</p>
</div>
 jQuery
$( "#dialog" ).dialog();
<div id="tabs">
<ul>
<li><a href="#tabs-1">Um item</a></li>
<li><a href="#tabs-2">Outro</a></li>
<li><a href="#tabs-3">Mais um</a></li>
</ul>
<div id="tabs-1">
<p>Um texto aqui.</p>
</div>
<div id="tabs-2">
<p>Um texto aqui.</p>
</div>
<div id="tabs-3">
<p>Um texto aqui.</p>
<p>Um texto aqui.</p>
</div>
</div> jQuery:
$( "#tabs" ).tabs( );
<div id="accordion">
<h3><a href="#">Um item</a></h3>
<div>
<p>Um texto aki</p>
</div>
<h3><a href="#">Outro</a></h3>
<div>
<p>Um texto aki</p>
</div>
<h3><a href="#">Mais um</a></h3>
<div>
<p>Um texto aki</p>
</div>
</div>
jQuery:
$( "#accordion" ).accordion( );
 http://jquery.com/
 http://ejohn.org/blog/selectors-in-javascript/
 http://bennolan.com/behaviour/
 http://www.w3schools.com/htmldom/default.asp
 jQuery – A Biblioteca do Programador JavaScript, 2008,
Maurício S. Silva, NOVATEC
 Ajax com jQuery – Requisições AJAX com a simplicidade de
jQuery, 2009, Maurício S. Silva, NOVATEC

Más contenido relacionado

La actualidad más candente

Introdução ao jquery
Introdução ao jqueryIntrodução ao jquery
Introdução ao jqueryYuri Costa
 
PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend FrameworkJaime Neto
 
Desenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchDesenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchCampus Party Brasil
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisThiago Miranda
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...Ezequiel Bertti
 
JavaScript: prototipação, closure e encapsulamento
JavaScript: prototipação, closure e encapsulamentoJavaScript: prototipação, closure e encapsulamento
JavaScript: prototipação, closure e encapsulamentoRicardo Valeriano
 
ODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryMarketing Digital ODIG
 
Persistência com JPA e Hibernate
Persistência com JPA e HibernatePersistência com JPA e Hibernate
Persistência com JPA e HibernateFernando Oliveira
 
JavaScript ninja com jQuery
JavaScript ninja com jQueryJavaScript ninja com jQuery
JavaScript ninja com jQueryReinaldo Junior
 
J query javascript para seres humanos
J query   javascript para seres humanosJ query   javascript para seres humanos
J query javascript para seres humanosnobios
 

La actualidad más candente (20)

CSS & JQquery
CSS & JQqueryCSS & JQquery
CSS & JQquery
 
jQuery Simplificando o JavaScript
jQuery Simplificando o JavaScriptjQuery Simplificando o JavaScript
jQuery Simplificando o JavaScript
 
Introdução ao jquery
Introdução ao jqueryIntrodução ao jquery
Introdução ao jquery
 
Aprenda jQuery 1.3
Aprenda jQuery 1.3Aprenda jQuery 1.3
Aprenda jQuery 1.3
 
PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend Framework
 
Introdução à JQuery
Introdução à JQueryIntrodução à JQuery
Introdução à JQuery
 
Workshop Django
Workshop DjangoWorkshop Django
Workshop Django
 
Jquery a technical overview
Jquery a technical overviewJquery a technical overview
Jquery a technical overview
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Desenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchDesenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-Touch
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSis
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
 
JavaScript: prototipação, closure e encapsulamento
JavaScript: prototipação, closure e encapsulamentoJavaScript: prototipação, closure e encapsulamento
JavaScript: prototipação, closure e encapsulamento
 
ODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQuery
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
jQuery
jQueryjQuery
jQuery
 
Persistência com JPA e Hibernate
Persistência com JPA e HibernatePersistência com JPA e Hibernate
Persistência com JPA e Hibernate
 
JavaScript ninja com jQuery
JavaScript ninja com jQueryJavaScript ninja com jQuery
JavaScript ninja com jQuery
 
J query javascript para seres humanos
J query   javascript para seres humanosJ query   javascript para seres humanos
J query javascript para seres humanos
 
NoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETECNoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETEC
 

Destacado (6)

Working on Non-Conventional User Interfaces
Working on Non-Conventional User InterfacesWorking on Non-Conventional User Interfaces
Working on Non-Conventional User Interfaces
 
Acessibilidade em Sistemas para a Web
Acessibilidade em Sistemas para a WebAcessibilidade em Sistemas para a Web
Acessibilidade em Sistemas para a Web
 
User Experience
User ExperienceUser Experience
User Experience
 
eScanner
eScannereScanner
eScanner
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Tutorial sobre Jquery
Tutorial sobre JqueryTutorial sobre Jquery
Tutorial sobre Jquery
 

Similar a Programação Web com jQuery

LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfGabrielaMota46
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão GeralKaio Valente
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBLuciano Borges
 
jQuery - A biblioteca javascript
jQuery - A biblioteca javascriptjQuery - A biblioteca javascript
jQuery - A biblioteca javascriptDiogo Benicá
 
Simplificando o Javascrip
Simplificando o JavascripSimplificando o Javascrip
Simplificando o JavascripMiquéias Amaro
 
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IVBackbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IVJoão Helis Bernardo
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.jsGiovanni Bassi
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introduçãoJosino Rodrigues
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Saulo Vallory
 
Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Wagner Silva
 

Similar a Programação Web com jQuery (20)

LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão Geral
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
 
Componentes para a Web
Componentes para a WebComponentes para a Web
Componentes para a Web
 
jQuery - A biblioteca javascript
jQuery - A biblioteca javascriptjQuery - A biblioteca javascript
jQuery - A biblioteca javascript
 
Simplificando o Javascrip
Simplificando o JavascripSimplificando o Javascrip
Simplificando o Javascrip
 
jQuery
jQueryjQuery
jQuery
 
JQuery
JQueryJQuery
JQuery
 
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IVBackbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
 
MondoDB
MondoDBMondoDB
MondoDB
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0
 
Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)
 
Javascript + jQuery
Javascript + jQueryJavascript + jQuery
Javascript + jQuery
 

Programação Web com jQuery

  • 2.  Victor Adriel de J. Oliveira  Associação Empresa Júnior de Computação: ◦ 2008 – Trainee ◦ 2009 – Diretor Administrativo/Financeiro ◦ 2010 – Conselheiro Fiscal  Programação Web: [HTML/CSS (tableless), jQuery, PHP, Smarty]  Contato: victorajoliveira@gmail.com  blogvictoradriel.blogspot.com
  • 3.  O que é  Sintaxe ◦ Seletores ◦ Manipulação do DOM ◦ CSS ◦ Eventos ◦ Efeitos ◦ Formulários  jQuery UI  Práticas
  • 4.  É uma biblioteca JavaScript disponibilizada como software livre e aberto, desenvolvida para mudar a forma de escrever JavaScript.  “O foco principal da biblioteca jQuery é a simplicidade. Por que submeter os desenvolvedores ao martírio de escrever longos e complexos códigos para criar simples efeitos?” (John Resig, jQuery in Action)
  • 5.  22/08/2005 ◦ “The premise for the module is as follows: Using the power of Pseudo-CSS Selectors, bind your Javascript functions to various HTML elements in the DOM. Looking at how Behaviour works, I've never been completely happy - it simply seems too tedious and verbose for everyday use.” (John Resig)  14/01/2006 ◦ jQuery: New Wave Javascript
  • 6.  22/08/2005 ◦ “The premise for the module is as follows: Using the power of Pseudo-CSS Selectors, bind your Javascript functions to various HTML elements in the DOM. Looking at how Behaviour works, I've never been completely happy - it simply seems too tedious and verbose for everyday use.”  14/01/2006 ◦ jQuery: New Wave Javascript “Jquery is like behaviour that has been sent back from the future by a secret fucking government lab” Zombieland
  • 7.  Utiliza seletores CSS para acessar e manipular o DOM;  Alheio às inconsistências de renderização entre navegadores;  Extensível;  Provê interatividade;  Simplifica tarefas específicas de JavaScript.
  • 8.  HTML DOM: ◦ O HTML DOM define objetos e propriedades para todos os elementos HTML, e os métodos (interface) para acessá-los. ◦ Em outras palavras: o HTML DOM é um padrão para acesso, atualização, adição ou deleção de elementos HTML.
  • 9.  Propriedades do HTML DOM: ◦ x.innerHTML – texto do elemento x ◦ x.nodeName – nome do elemento x ◦ x.nodeValue – valor do elemento x ◦ x.parentNode – pai do elemento x ◦ x.childNodes – filhos do elemento x ◦ x.attributes – atributos do elemento x
  • 10.  Métodos do HTML DOM: ◦ x.getElementById(id)  Captura o elemento com um id específico ◦ x.getElementsByTagName(name)  Captura todos os elementos com o mesmo comando ◦ x.appendChild(node)  Insere um novo nó filho no elemento x ◦ x.removeChild(node)  Remove um nó filho do elemento x
  • 11.  Métodos do HTML DOM: <html> <body> <p id="intro">Hello World!</p> <script type=“text/javascript”> txt=document.getElementById("intro").innerHTML; alert("O texto do paragrafo com o id 'info': " + txt); </script> </body> </html>
  • 12.  Métodos do HTML DOM: <html> <body> <p id="intro">Hello World!</p> <script type=“text/javascript”> txt=document.getElementById("intro").innerHTML; alert("O texto do paragrafo com o id 'info': " + txt); </script> </body> </html> Var txt = $(‘#intro’).val(); Com jQuery
  • 13.  Ir ao site: http://jquery.com  Fazer download da biblioteca  Linkar na página HTML: <head> <script type=“text/javascript” src=“/caminho/jquery-vs.js”></script> </head>
  • 14.
  • 15.
  • 16.  Minified ◦ jquery-1.6.4.min.js ◦ Compacto e de leitura difícil  Uncompressed ◦ jquery-1.6.4.js ◦ Espaço entre cada linha de código e amplamente comentado.
  • 17.  JavaScript in-line: ◦ CSS <style type=“text/css”> h1 { color:#090; } </style> ◦ HTML com o JavaScript in-line <h1 id=“cor”>Cabeçalho muda de cor</h1> <button type=“button” onclick=“document.getElementById(‘cor’).style.color =‘#F00’;”>Vermelha</button>
  • 18.  Função JavaScript: <script type=“text/javascript”> function mudaCor() { document.getElementById(‘cor’).style.color=‘#F00’; } </script> ◦ HTML <h1 id=“cor”>Cabeçalho muda de cor</h1> <button type=“button” onclick=“mudaCor();”>Vermelha</button>
  • 19.  JavaScript fora da marcação: <script type=“text/javascript”> Window.onload = function(){ Document.getElementById(‘btnRed’).onclick = mudaCor; } function mudaCor() { document.getElementById(‘cor’).style.color=‘#F00’; } </script>
  • 20.  JavaScript fora da marcação: ◦ HTML <h1 id="cor">Cabeçalho muda de cor</h1> <button type="button" id=“btnRed">Vermelha</button>
  • 21.  jQuery: <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#btnRed").click(function () { $("#cor").css("color","#FF0000"); }); }); </script>
  • 22.  Método ready() ◦ No javascript window.onload = function(){ Do this; } ◦ No jQuery $(document).ready(function(){ Do this; });
  • 23.  Construtor jQuery ◦ $( ) ◦ jQuery( )  jQuery.noConflict( ) ◦ Usa o alias jQuery ou outro de sua preferência
  • 24.  jQuery adota os seletores CSS 3! #ôPelaDoido  É necessário rever a terminologia aplicada aos elementos que compõem a árvore do documento.
  • 26.  Categorias: ◦ Básicos ◦ De atributo ◦ Hierárquicos ◦ Filtros  Básicos  De conteúdo  Por visibilidade  De filhos ◦ De formulários
  • 27.  Básicos ◦ Universal  $(“*”) ◦ De elemento  $(“p”) ◦ De múltiplos elementos  $(“p, h1, img”)
  • 28.  Básicos ◦ De classe  $(“.class”) ◦ De ID  $(“#id”)
  • 29.  De atributo  $(‘[nome]’)  $(‘[nome = “valor”]’)  $(‘[nome != “valor”]’)  $(‘[nome ^= “valor”]’)  $(‘[nome |= “valor”]’)
  • 30.  De atributo  $(‘[nome *= “valor”]’)  $(‘[nome ~= “valor”]’)  $(‘[nome $= “valor”]’)  $(‘[nome = “valor”][nome2 = “valor2”]’)
  • 31.  Hierárquicos  $(“ancestral descendente”)  $(“pai > filho”)  $(“anterior + posterior”)  $(“elemento ~ irmãos”)
  • 32.  Atributos gerais ◦ .attr( nomeAtributo ) .attr( nomeAtributo, valor ) Ex: $(‘input’).attr(‘disabled’, ‘disabled’) ◦ .prop( nomePropriedade ) .prop( nomePropriedade, valor ) Ex: $(‘input’).prop({ disabled: true });
  • 33. ◦ .removeAttr( nomeAtributo ) ◦ .removeProp( nomePropriedade ) Ex: $(“input”).removeProp(“checked”); ◦ .val( ) .val( valor ) Ex: $(“input”).val(‘Digite seu nome’);
  • 34.  Atributos de classe ◦ .addClass( nomeClasse ) ◦ .removeClass( [nomeClasse] ) ◦ .hasClass( nomeClasse ) ◦ .toggleClass( nomeClasse ) .toggleClass( nomeClasse, switch ) .toggleClass( [switch] )
  • 35.  HTML <body> <img src=" http://goo.gl/kQBXL" alt="Yao Ming" /> <div class="info"></div> </body>
  • 36.  jQuery $(document).ready(function(){ var atrAlt = $('img').attr('alt'); $('div').text(atrAlt ); $('img').attr('title','Você perdeu a capacitação?'); });
  • 37.  CSS <style type=“text/css”> .info{ color: red; } .highlight { background: yellow; } </style>
  • 40.  jQuery $('div').removeClass('info').addClass('highlight'); var ctd=0; $('div').click(function( ){ ctd++; $('div').toggleClass('highlight', ctd % 3 == 0); });
  • 41.  Inserção no DOM (Outside) ◦ .after( ) ◦ .before( ) Ex: $("p").before("<b>Hello</b>"); ◦ .insertAfter( ) ◦ .insertBefore( ) Ex: $("p").insertBefore("#smthng");
  • 42.  Inserção no DOM (Inside) ◦ .append( ) ◦ .prepend( ) Ex: $("p").prepend("<b>Hello</b>"); ◦ .appendTo( ) ◦ .prependTo( ) Ex: $("p").prependTo("#smthng");
  • 43.  Inserção no DOM (Inside) ◦ .html( ) ◦ .text( ) Ex: ◦ $(“div").html(“<button>botão</button>”); ◦ $(“div").text (“<button>botão</button>”);
  • 44.  Inserção no DOM (Around) ◦ .wrap( ) ◦ .wrapAll( ) ◦ .wrapInner( ) ◦ CSS div { border: 2px solid blue; } p { background:yellow; margin:4px; } ◦ HTML <p>Hello</p> ◦ jQuery $("p").wrap("<div></div>");
  • 45.  Remoção no DOM ◦ .unwrap( )  Remove o pai e coloca o filho no lugar ◦ .empty( )  Remove conteúdo do elemento ◦ .detach( )  Remove elementos mas permite recuperá-los ◦ .remove( )  Remove elementos completamente
  • 46.  Substituição no DOM ◦ .replaceAll( ) ◦ .replaceWith( ) Ex: ◦ $("<b>Paragraph. </b>").replaceAll("p"); ◦ $("p").replaceWith("<b>Paragraph. </b>");  Cópias ◦ .clone( )
  • 47.  HTML <label>Colaboradores:</label> <select class="copy" style="display:block;"> <option value="0">Selecione um...</option> <option value="1">Ana</option> <option value="2">João</option> <option value="3">Maria</option> </select> <button id="novoColaborador">More</button> <button id="removColaborador">Less</button>
  • 48.  jQuery $('#novoColaborador').click(function( ){ $('.copy:last').clone( ).appendTo('body'); }); $('#removColaborador').click(function( ){ $('.copy:last').remove( ); });
  • 49.  Propriedades de estilo ◦ .css( ) Ex: ◦ Var back = $(“div").css("background-color"); ◦ $("p").css("color","red"); ◦ $( this ).css({"width" : "+=100", "color" : "red"});
  • 50.  Dimensionamento ◦ .height( ) / .width( ) ◦ .innerHeight( ) / .innerWidth( ) ◦ .outerHeight( ) / .outerWidth( )
  • 51.  Dimensionamento ◦ .height( ) / .width( ) ◦ .innerHeight( ) / .innerWidth( ) ◦ .outerHeight( ) / .outerWidth( )
  • 52.  Dimensionamento ◦ .height( ) / .width( ) ◦ .innerHeight( ) / .innerWidth( ) ◦ .outerHeight( ) / .outerWidth( )
  • 53.  Offset ◦ .offset( ) ◦ .position( ) Ex: var pos = $("p").position( ); alert( pos.left ); ◦ .scrollLeft( ) / .scrollTop( ) Ex: $(“div").scrollLeft(300);
  • 54.  Diferença entre offset e position: ◦ CSS div { padding: 15px;} p { margin-left:10px; } ◦ HTML <div><p>Hello</p></div> <p></p> ◦ jQuery var pos = $("p:first").position( ); $("p:last").text( "left: "+ pos.left + ", top: "+ pos.top );
  • 55. ◦ CSS #box {background: black; color: #fff; width:100px;} ◦ HTML <div id="box">Click me to grow</div> ◦ jQuery $("#box").click(function ( ) { $( this ).css( "width","+=200" ); });
  • 56.  Eventos do mouse ◦ .click( )  Ativado com um clique ◦ .dblclick( )  Ativado com um duplo clique ◦ .hover( )  Ativado quando o cursor estiver sobre o elemento ◦ .mousemove( )  Ativado com o movimento do mouse
  • 57.  Eventos do mouse ◦ .mousedown( ) / .mouseup( )  Ativado com pressionar/soltar o clique ◦ .mouseenter( ) / .mouseleave( )  Cursor passa sobre ou deixa o elemento ◦ .mouseover( ) / .mouseout( )  Cursor passa sobre ou sai dos elementos filhos ◦ .toggle( )  Ativa funções em cliques alternados
  • 58.  Vamos usar o jsbin para treinar <body> <p>Pressione o mouse aqui.</p> <script> $("p").mouseup(function( ){ $(this).append('<span style="color:#F00;">Up.</span>'); }).mousedown(function(){ $(this).append('<span style="color:#00F;">Down.</span>'); }); </script> </body>
  • 59.  Eventos do teclado ◦ .focusin( )  Ativado com o foco no elemento ◦ .focusout( )  Ativado com a perda do foco no elemento ◦ .keypress( )  Ativado com o pressionar de qualquer tecla ◦ .keyup( ) / .keydown( )  Ativado com o pressionar/soltar a tecla
  • 60. var estado=0; $(‘body’).keypress(function(tecla){ switch( estado ){ case 0: if(tecla.which==116){ estado++; } else { estado=0; } break; case 1: if(tecla.which==101){ estado++; } else { estado=0; } break; case 2: if(tecla.which==99){ alert(“ Vc digitou ‘tec’? ”); } estado=0; } });
  • 61.  Além dos eventos do mouse e teclado vocês devem estudar mais sobre:  Event Handler Attachment  Objetos de eventos  Eventos do browser  Carregando o documento
  • 62.  Agora vamos brincar um pouquinho ^^  Acesse esse link: http://goo.gl/dLYCO e baixe o arquivo que vamos usar.  Vamos incrementar a página usando jQuery  O que for digitado na caixa de texto deve aparecer na tela.
  • 63.  Categorias ◦ Básicos ◦ De opacidade ◦ Corrediços ◦ De customização
  • 64.  Básicos ◦ .hide( ) ◦ .show( ) ◦ .toggle( )
  • 65.  Opacidade ◦ .fadeIn( ) ◦ .fadeOut( ) ◦ .fadeTo( ) ◦ .fadeToggle( )
  • 66.  Corrediços ◦ .slideDown( ) ◦ .slideUp( ) ◦ .slideToggle( )
  • 67.  HTML <div> <h3>Titulo 1</h3> <p>texto 1. Texto, texto e mais texto</p> </div>  jQuery $('p').hide( ); $('h3').click(function( ){ $('p').hide( ); $(this).parent( ).find('p').show( ); });
  • 68.  HTML <div> <h3>Titulo 1</h3> <p>texto 1. Texto, texto e mais texto</p> </div>  jQuery $('p').hide( ); $('h3').click(function( ){ $('p').hide( ); $(this).parent( ).find('p').show( ); }); Agora teste outros métodos: .fadeIn( ) e .fadeOut( ) .slideDown( ) e .slideUp( )
  • 69.  Customização ◦ .animate( ) ◦ .delay( ) ◦ .stop( )
  • 70. ◦ CSS div { background-color:#abc; width:90px; height:90px; margin:5px; font-size:1px; } ◦ HTML <button id="left">&laquo;</button> <button id="right">&raquo;</button> <div class="block">x</div>
  • 71. ◦ jQuery $("#right").click(function( ){ $(".block").animate({"margin-left": "+=200px"}, "slow"); }); $("#left").click(function( ){ $(".block").animate({"margin-left": "-=200px"}, "slow"); });
  • 72. ◦ HTML <button id="go">elem x</button> ◦ jQuery $("#go").click(function( ){ $(".block").animate({ width: "70%", opacity: 0.4, marginLeft: "0.6in", fontSize: "5em", borderWidth: "10px" }, 1500 ); });
  • 73. ◦ HTML <button id=“stop">STOP</button> ◦ jQuery $("#stop").click(function( ){ $(".block").stop( ); });
  • 74.  Baixe o arquivo: http://goo.gl/eo7MJ ◦ Ajude o Mário a chegar ao outro lado usando o método animate() do jQuery.
  • 75.  Seletores para formulários: ◦ :button ◦ :checkbox ◦ :input ◦ :text ◦ :radio ◦ :submit ◦ :reset ◦ :password ◦ :selected ◦ ...
  • 76.  Seletores para formulários: ◦ :button ◦ :checkbox ◦ :input ◦ :text ◦ :radio ◦ :submit ◦ :reset ◦ :password ◦ :selected ◦ ... Ex: $(“input:password”).css(“color”, “#CCC”);
  • 77.  Eventos relacionados a formulários: ◦ .blur( ) ◦ .change( ) ◦ .focus( ) ◦ .select( ) ◦ .submit( )
  • 78. ◦ HTML <form> <input type="text" name="busca" /> </form> ◦ jQuery $("input[name='busca']").val('Busca').css('color','#CCC') .focus(function( ){ $(this).val('').css('color','#000'); }).blur(function( ){ $(this).val('Busca').css('color','#CCC'); });
  • 79.  Vamos baixar o formulário e incrementá-lo usando o jQuery. (http://goo.gl/Feq7L)  Começaremos analisando o código HTML do formulário.
  • 80. // Dicas de preenchimento $(‘input + span').hide( ); $(".obrigatorio").blur(function( ){ var val = $(this).val( ); if(val == ""){ $(this).next( ).show( ); }else{ $(this).next( ).hide( ); } });
  • 83. //Validar $("form").submit(function( ) { var nome = $("input[name='nome']").val( ); var nasc = $("input[name='data']").val( ); var mail = $("input[name='email']").val( ); if(nome == ‘’){ alert("Preencha o campo nome."); return false; }
  • 84. if(mail == ‘’){ alert("Preencha o campo email."); return false; } if((nasc != ‘’)&&(! nasc.match( /^[0-9]{2}/[0-9]{2}/[0-9]{4}$/))){ alert("Data de nascimento inválida."); return false; } return true; });
  • 85.  Provê abstrações para interações e animações de baixo-nível, efeitos avançados e ferramentas personalizáveis construídas sobre a biblioteca jQuery.
  • 86.  Interações ◦ Draggable ◦ Droppable ◦ Resizable ◦ Selectable ◦ Sortable
  • 87.  Widgets ◦ Accordion ◦ Autocomplete ◦ Button ◦ Datepicker ◦ Dialog ◦ Progressbar ◦ Slider ◦ Tabs
  • 88. var nomes= [ "Beatriz Silva", "Eduardo Dantas", "Ivan Cezanne", "Janai Maciel", "José Adão", "Newton Costa", "Thiago Evangelista"]; $( "input[name='nome']" ) .autocomplete({ source: nomes });
  • 89.  HTML <div id="dialog" title="Muaahaa"> <p>Cuidado: Vírus! Não feche essa pop-up.</p> </div>  jQuery $( "#dialog" ).dialog();
  • 90. <div id="tabs"> <ul> <li><a href="#tabs-1">Um item</a></li> <li><a href="#tabs-2">Outro</a></li> <li><a href="#tabs-3">Mais um</a></li> </ul> <div id="tabs-1"> <p>Um texto aqui.</p> </div> <div id="tabs-2"> <p>Um texto aqui.</p> </div> <div id="tabs-3"> <p>Um texto aqui.</p> <p>Um texto aqui.</p> </div> </div> jQuery: $( "#tabs" ).tabs( );
  • 91. <div id="accordion"> <h3><a href="#">Um item</a></h3> <div> <p>Um texto aki</p> </div> <h3><a href="#">Outro</a></h3> <div> <p>Um texto aki</p> </div> <h3><a href="#">Mais um</a></h3> <div> <p>Um texto aki</p> </div> </div> jQuery: $( "#accordion" ).accordion( );
  • 92.  http://jquery.com/  http://ejohn.org/blog/selectors-in-javascript/  http://bennolan.com/behaviour/  http://www.w3schools.com/htmldom/default.asp  jQuery – A Biblioteca do Programador JavaScript, 2008, Maurício S. Silva, NOVATEC  Ajax com jQuery – Requisições AJAX com a simplicidade de jQuery, 2009, Maurício S. Silva, NOVATEC