1.1 O que ? > O objetivo tornar o uso do JavaScript mais fcil no seu site; > Caractersticas do jQuery: > HTML / manipulao DOM; > Manipulao CSS; > Mtodos de evento HTML; > Efeitos e animaes; > AJAX; > Utilidades; 1.2 Por que? > Mais popular e extensvel; > Simplifica chamadas AJAX; > Muitas das maiores empresas na WEB usa o jQuery (Google, Microsoft, IBM, Netflix); > Funciona nos principais navegadores (inclusive no Internet Explorer 6); 2 Instalao > Baixar a biblioteca de jQuery.com; > Incluir a partir de uma CDN (Content Delivery Network) ; > Incluir via tag <script src=path> </script> 2.1 Download > Existe duas verses disponveis para download > Verso de produo a biblioteca foi minimizada e comprimida (minified and compressed); > Verso de desenvolvimento para teste e desenvolvimento, pois a biblioteca no foi minimizada e comprimida; > Ambas verses podem ser baixadas do jQuery.com; > um arquivo nico. 2.1 Notas > Minified and compressed - Diminuir tamanho do arquivo para melhorar desempenho > Remove espaos em brancos desnecessrios; > Remove comentrios; > Encurta nome de variveis e mais; 2.2 Alternativas de Download > No necessrio realizar o download e hospedar no seu site; > Podemos utiliz-lo via CDN (Content Delevery Network); > Ele disponibilizado pelo o Google e Microsoft; > Google - http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js; > Microsoft - http://ajax.aspnetcdn.com/ajax/jQuery/jquery- 1.10.2.min.js; > Pode estar no cache, caso a pessoa entrou em outro site que utilizou-o via CDN;
3 Sintaxe > Com o jQuery selecionamos elementos HTML e executamos aes com eles.
3.1 Sintaxe jQuery > Sintaxe bsica: $(seletor).acao(); > Um $ acessa o jQuery; > (seletor) para selecionar elementos HTML; > acao() para executar algo com os elementos encontrados atravs do seletor informado. > Exemplos: > $(this).hide() esconde o elemento atual; > $(p).hide() esconde todos os elementos <p>; > $(.teste).hide() esconde todos os elementos com classe = teste; > $(#teste).hide() esconde o elemento com id = teste;
3.2 Document Ready > A pgina no pode ser manipulada com segurana at que o documento est pronto; > uma boa prtica aguardar o documento ser completamente carregado e estar pronto antes de trabalhar com ele; > Isso permite que voc tenha o cdigo JavaScript antes do corpo do documento na seo <head>; > Aes que podem falhar se forem executadas antes do documento estiver pronto: > Tentar esconder um elemento que ainda no est criado no documento; > Tentar obter o tamanho de uma imagem que no est carregada ainda; > Exemplo 3.2 3.2 Document Ready $(document).ready(function(){ // Colocar os mtodos de jQuery aqui. });
$(function(){ // Colocar os mtodos de jQuery aqui. }); 4 Seletores > uma das partes mais importantes da biblioteca jQuery; > baseado nos seletores CSS; > Encontra (ou seleciona) elementos HTML, com base em sua ID, classes, tipos, atributos, valores de atributos; > Todos os seletores no jQuery comea com $ e parnteses: $(); 4.1 Seletor de elemento > Seleciona baseado no nome do elemento: > Ex.: Selecionar todos elementos <p> da pgina: $(p); > Exemplo 4.1 4.2 Seletor #id > Encontra o elemento atravs do atributo id de uma tag HTML - $(#teste); > Um id deve ser nico dentro de uma pgina, ento usamos o seletor #id quando quisermos encontrar um elemento especfico na pgina; > Exemplo 4.2 4.3 Seletor .classe > Encontra elementos atravs de uma classe especfica: $(.teste); > Exemplo 4.3 4.4 Outros Exemplos de Seletores > $(*) Todos os elementos; (exemplo) > $(this) O elemento HTML atual; > $(p.intro) Todos elementos <p> com classe intro; > $(p:first) Primeiro elemento <p>; > $(ul li:first) Primeiro elemento <li> do primeiro elemento <ul>; > $(ul li:firs-child) Primeiro elemento <li> de todos elementos <ul>; > $([href]) Todos elementos com atributo href; > $(a[target=vazio]) Todos elementos <a> com o valor do atributo target igual a vazio; 5 Eventos > Eventos so todas as aes dos usurios, que uma pgina web pode responder; > jQuery foi feito sob medida para responder a eventos em uma pgina HTML;
5.1 Sintaxe > $(p).click(); > Para atribuir um evento de clique em todos os pargrafos de uma pgina.
> $(p).click(function() { // O que deve acontecer quando o evento disparado. }) ;
5.2 Eventos comuns > click(); - Quando o usurio clica no elemento HTML; > dblclick(); - Quando o usurio da um clique duplo no elemento HTML; > mouseenter(); - Quando o ponteiro do mouse passa por cima de um elemento HTML; > mouseleave(); - Quando o ponteiro do mouse sai de cima de um elemento HTML; > mousedown(); - Quando o usurio clica com o boto esquerdo do mouse, enquanto o mouse est sobre o elemento HTML;
5.2 Eventos comuns > mouseup(); - Quando o boto esquerdo do mouse liberado, enquanto o mouse est sobre o elemento HTML; > hover(); - Combinao das funes mouseenter() e mouseleave(); > focus(); - Quando um elemento HTML recebe o foco; > blur(); - Quando o ponteiro do mouse sai de cima de um elemento HTML; 6 Efeitos > jQuery torna trivial incluir efeitos simples para a sua pgina; > Os efeitos podem usar as configuraes internas, ou fornecer uma durao personalizada; > Podemos criar animaes personalizadas de propriedades CSS arbitrrias; 6.1 Hide e Show > Com jQuery podemos esconder e mostrar elementos HTML; > Sintaxe: > $(seletor).hide(speed, callback); > $(seletor).show(speed, callback); > O parmetro opcional speed especifica a velocidade com que ser escondido/mostrado, e pode ser informado slow, fast, ou um valor em milissegundos; > O parmetro opcional callback uma funo a ser executada depois que o mtodo hide() ou show() completa; > Exemplo 6.1.1 6.1 Hide e Show > Podemos alternar entre os mtodo hide() e show() com o mtodo toggle(); > Ele mostra os elementos que esto escondidos e esconde os que esto sendo mostrados; > Sintaxe: > $(seletor).toggle(speed, callback); > Exemplo 6.1.2 6.2 Fading > Com esse efeito fazemos elementos desaparecer ou aparecer gradualmente; > Mtodos: > fadeIn(); > fadeOut(); > fadeToggle(); > fadeTo(); 6.2 Mtodo fadeIn() > O mtodo fadeIn() usado para fazer aparecer gradualmente um elemento escondido; > Sintaxe: > $(seletor).fadeIn(speed, callback);
> Exemplo 6.2.1 6.2 Mtodo fadeOut() > O mtodo fadeOut() usado para fazer desaparecer gradualmente um elemento visvel; > Sintaxe: > $(seletor).fadeOut(speed, callback);
> Exemplo 6.2.2 6.2 Mtodo fadeToggle() > O mtodo fadeToggle() alterna entre os mtodos fadeIn() e fadeOut(); > Se o elemento est desaparecido, ento o mtodo faz o elemento aparecer gradualmente; > Se o elemento est visvel, ento o mtodo desaparece gradualmente; > Sintaxe: > $(seletor).fadeToggle(speed, callback); > Exemplo 6.2.3 6.2 Mtodo fadeTo() > O mtodo fadeTo() faz o elemento aparecer/desaparecer at uma dada opacidade; > Valores permitidos entre 0 e 1; > Sintaxe: > $(seletor).fadeToggle(speed, opacity, callback); > Exemplo 6.2.4 6.3 Sliding > Faz os elementos HTML deslizar para cima ou para baixo; > Mtodo: > slideDown(); > slideUp(); > slideToggle(); 6.3 Mtodo slideDown() > O mtodo slideDown() usado para fazer um elemento deslizar para baixo; > Sintaxe: > $(seletor).slideDown(speed, callback);
> Exemplo 6.3.1 6.3 Mtodo slideUp() > O mtodo slideUp() usado para fazer um elemento deslizar para cima; > Sintaxe: > $(seletor).slideUp(speed, callback);
> Exemplo 6.3.2 6.3 Mtodo slideToggle() > O mtodo slideToggle() alterna entre os mtodos slideDown() e slideUp(); > Se o elemento est para cima, ento o mtodo desliza o elemento para baixo; > Se o elemento est baixo, ento o mtodo desliza o elemento para cima; > Sintaxe: > $(seletor).slideToggle(speed, callback); > Exemplo 6.3.3 6.4 Animation > O mtodo animate() permite criar animaes personalizadas; > Sintaxe: > $(seletor).animate({param}, speed, callback); > O parmetro obrigatrio param define as propriedades CSS para ser animadas; > Exemplo 6.4.1 6.4 Manipular Mltiplas Propriedades > possvel passar vrios propriedades CSS para o mtodo animate(); > A maioria das propriedades CSS possvel manipular com o mtodo; > Toda propriedade dever ser camel-cased na utilizao do mtodo; > Ex. marginRight, paddingTop > Exemplo 6.4.2 > possvel utilizar os valores relativo ao elemento atual, utilizando os += ou -= antes do valor; > Exemplo 6.4.3 6.4 Manipular Mltiplas Propriedades > Podemos at especificar o valor de uma propriedade de animao como toggle, show, hide; > Exemplo 6.4.4
6.5 Parar Animaes > Usa-se o mtodo stop() para parar as animaes ou efeitos antes deles acabarem; > Sintaxe: > $(seletor).stop(stopAll, goToEnd); > O parmetro opcional stopAll especifica se a fila de animaes deve ser limpa ou no. O padro falso, que significa que s a animao ativa ser interrompida; > O parmetro opcional goToEnd especifica se para completar a atual imediatamente. O padro falso; > Exemplo 6.5.1 / Exemplo 6.5.2
6.6 Callback > Uma funo callback executada depois que o efeito atual 100% finalizado; > usada para evitar o erro que pode ocorrer vindo de linhas de comandos executadas antes do efeito terminar completamente; > Exemplo sem Callback: Exemplo 6.6.1 > Exemplo com Callback: Exemplo 6.6.2
6.7 Chaining > Podemos atrelar aes / mtodos; > Encadeamento nos permite executar vrios mtodos (sobre o mesmo elemento) dentro de uma nica instruo. > Exemplo: $("#p1").css("color","red").slideUp(2000).slideDown(2 000); Exerccio 1 > Exerccio 1 7 HTML > jQuery possui mtodos para a alterar e manipular elementos HTML e seus atributos; > Uma parte muito importante do jQuery a possibilidade de manipular o DOM; > DOM Document Object Model Define um padro para o acesso e atualizao dinmicas de contedos de documentos HTML e XML;
7.1 Obter Contedo > Trs simples, mas til, mtodos jQuery para manipulao DOM so: > text(); - Atribui ou retorna o texto do elemento selecionado; > html(); - Atribui ou retorna o contedo do elemento selecionado (incluindo as tags HTML); > Val(); - Atribui ou retorna o valor de um campo de formulrio; > Exemplo 7.1.1 / Exemplo 7.1.2
7.1 Obter Atributos > O mtodo attr() usado para obter valores de atributos; > Exemplo 7.1.3 7.2 Atribuindo Contedo > Com os mesmos mtodos conseguimos definir um valor:; > text(); > html(); > val(); > Exemplo 7.2.1