SlideShare uma empresa Scribd logo
Apresentado por
José Alexandre Macedo
O que é jQuery?
  Biblioteca JavaScript rápida e concisa que
    simplifica percorrer documentos HTML,
     manipular eventos, criar animações e
   interações Ajax para um desenvolvimento
                   web rápido

O jQuery foi desenvolvido para mudar a forma
       com que você escreve JavaScript!
Por que utilizá-lo?
• Aumento da produtividade
• 24kb (versão 1.4.2) para fazer tudo o que você
  precisa
  – requisições AJAX
  – iteração e criação de elementos DOM
  – tratamento de eventos
• Cross-browser
  – Funciona no Internet Explorer 6.0+, Firefox 2.0+, Safari
    2.0+ e Opera 9.0+
• Open Source
Por que utilizá-lo?
Quem utiliza jQuery?
Manipulação de Elementos DOM
• DOM = Document Object Model
• Padrão da W3C que define um conjunto de objetos para o
  HTML e forma de acessá-los e manipulá-los
   – Todos os elementos HTML, assim como seus textos e atributos
     podem ser acessados via DOM
   – Podem ser modificados, removidos, e novos elementos podem
     ser criados
• O HTML DOM é uma plataforma independente de
  linguagem
   – A linguagem mais usada para acessá-lo é o JavaScript (onde o
     jQuery entra para facilitar as coisas)
• Window, Document, Table, IFrame, Link, Input Button,
  InputRadio e Select são alguns dos objetos DOM.
A função $ ()
• Função para selecionar um ou mais elementos
  DOM em uma página HTML e manipulá-los de
  diversas formas
• É possível fazer outras chamadas subsequentes
  para filtrar ou adicionar mais objetos a seleção
  atual e manipulá-los
• O $ por si só é um alias para a "classe" jQuery
Preparando para o Hello World
• Colocar dentro da tag <head>
       <script src="jquery.js" type="text/javascript"></script>
       <script src="meujs.js" type="text/javascript"></script>


• Colocar dentro do <body>
<h1>Hello World com jQuery!</h1>
<a id="first" href="#">Link 0</a>
<a name="top" href="#">Link 1</a><a name="bottom" href="#">Link
   2</a>
<div id="div1">
</div>
Hello World no jQuery!
• No arquivo meujs.js adicionar

$(document).ready(function() {
  $("a").click(function() {
                  alert("Olá mundo!");
                  });
  });
Hello World no jQuery!
• Vamos dar uma olhada no que estamos
  fazendo:
  – $("a") seleciona todos os elementos <a>
  – A função click() é um método do objeto jQuery.
    Liga o evento clique a todos os elementos
    selecionados e executa a função fornecida quando
    o evento ocorre
  – Similar ao código:
     • <a href="#" onclick="alert('Olá mundo')">Link</a>
Exercicio 1
• $('div').add('p.quote').html('um pequeno teste!');

• $("#rodape").css('color', 'red');
    – Obtém o elemento com ID igual a rodapé e altera sua cor para
      vermelho.
• $("button.classButtons").click(function() { alert('Bom Dia') });
    – Obtém todos os elementos do tipo button com classe classButtons e
      vincula o evento onclick (ao clicar) desse elemento à uma função que
      exibe uma caixa de diálogo (alert)
• $('td').css("color","blue");
    – Obtém todos os elementos td (células de tabelas) e para cada
      elemento encontrado executa uma função que exibe uma caixa de
      diálogo (alert) com ID do elemento
• $("tr:first").css("font-style","italic");
    – Obtém apenas o primeiro elemento tr encontrado
Possibilidades de seleção
Seleção Básica
• #id. Seleciona o elemento com determinado id
   – Exemplo: $("#primDiv").css("background-color","black");
• elemento. Seleção pelo elemento HTML
   – Exemplo: $("div").css("border","9px double red");
• .classe. Elementos de determinada classe
   – Exemplo: $(".destaque").css("fontWeight","bolder");
• .classe.classe. Elementos que pertençam a ambas classes.
   – Exemplo: $(".destaque. especial").css("color","red");
• *. Todos elementos
   – Exemplo: $("*").css("color","black");
• Combinação dos anteriores com virgula
   – Exemplo: $("div,span,p.olho").css("margin","3px 0 0 0");
Seleção Hierarquia
• Ascendente Descendente. Seleção de descendentes de
  determinado elemento
   – Exemplo: $("form label").css("color","gray");
• Pai > Filho. Seleção de elementos-filho de um determinado
  elemento
   – Exemplo: $("#conteudo > *") .css("border","2px solid green");
• Anterior + Seguinte. Seleção de elemento que segue-se a
  um determinado elemento
   – Exemplo: $("label + input").css("border","1px dotted blue");
• Anterior ~ Irmãos. Seleção de elementos-irmãos após
  determinado elemento
   – Exemplo: $("#inicio ~ div").css("color","aquamarine");
Seleção com Filtros
•   :first. Primeiro elemento da seleção
     – Exemplo: $("tr:first").css("font-style","italic");
•   :last. Inverso de :first
•   :not(seletor). Filtra elementos que não se encaixam em determinado seletor
     – Exemplo: $("input:not(:checked) + span") .css("border","1px dotted darkSalmon");
•   :even. Elementos com índice par, considerado que o índice inicia em zero.
     – Exemplo: $("tr:even").css("background-color","lavender");
•   :odd. Inverso de :even
•   :eq(índice). Determinado elemento pelo seu índice
     – Exemplo: $("td:eq(2)").css("background-color","MintCream");
•   :gt(índice). Todos elementos com índice superior a determinado valor.
     – Exemplo: $("p:gt(1)").hide();
•   :lt(índice). Inverso de :gt(índice)
•   :header. Todos elementos header
     – Exemplo: $(":header").css("color","navy");
•   :animated. Todos elementos que estão sendo animados no momento da seleção.
Seleção com Filtros de Conteúdo
• :contains(texto). Seleciona elementos que contenha
  determinado texto
   – Exemplo: $("p:contains('JQuery')").css("text-decoration","underline");
• :empty. Seleciona elementos sem filhos
   – Exemplo: $("td:empty").css("background-color","MediumOrchid");
• :has(seletor). Seleciona elementos que contenham ao
  menos um determinado elemento que combine com o
  seletor informado
   – Exemplo: $("div:has(p)").addClass("grade");
• :parent. Seleciona elementos que tenham elementos filhos
   – Exemplo: $("td:parent").hide();
Seleção com Filtros de Visibilidade
• :hidden: Seleciona elementos ocultados
  – Exemplo: $("div:hidden").show(2000);
• :visible. Inverso de :hidden
Seleção com Filtros de Atributos
•   [atributo]. Elementos que contenham determinado atributo
     – Exemplo: $("div[id]").css("color","lime");
•   [atributo=valor]. Elementos com atributo que tenham determinado valor
     – Exemplo: $("p[class='ocultar']").hide(3000);
•   [atributo!=valor]. Elementos com atributo que não tenham determinado
    valor
•   [atributo^=valor]. Elementos com atributo que inicie com determinado
    valor
     – Exemplo: $("input[name^='req']").val("Requerido");
•   [atributo$=valor]. Elementos com atributo que termine com determinado
    valor
•   [atributo*=valor]. Elementos com atributo que contenha determinado
    valor
•   Estes filtros podem ser combinados como neste exemplo:
    $("input[type='text'][id]").css("color","Darkred");
Seleção por Elementos do formulário
• Também podem ser selecionados os elementos de formulários
  como
   –   :input
   –   :text
   –   :password
   –   :radio
   –   :checkbox
   –   :submit
   –   :image
   –   :reset
   –   :button
   –   :file
• Exemplo
   – $("form :checkbox").css("border","2px solid LightSlateGray");
Seleção por Estado dos Elementos de
             Formulário
• Os elementos de formulários podem ter sua
  seleção refinada pelo estado destes elementos
  São exemplos
• :enabled
• :disabled
• :checked
• :selected
• Um exemplo de uso seria
  – alert($("input:checked").length + " selecionados");
Exercicio 2 - Efeitos
• Dentro da tag <body>

<h1>Exercicio 2 com jQuery</h1>
<button id="btn1">Show div</button>
<button id="btn2">Desaparecer div</button>
<div class="texto" id="div1">
<p> Caixa de texto que aparecerá e desaparecerá
  com as funções do jQuery!</p>
</div>
Exercicio 2 - Efeitos
• Dentro da arquivo meujs.js
$(document).ready(function() {
    $("#btn1").click(function() {
                         $("#div1").fadeIn();
                     });
    $("#btn2").click(function() {
                         $("#div1").fadeOut();
                     });
});
Ajax com jQuery!
Preparando o terreno
• Criar novo projeto Php
• Adicionar biblioteca jQuery
• Importar o caminho da biblioteca no <head>
• Criar uma página que receberá o código html
<button id="btn1">Carregar Feeds por ajax</button><div
  class="texto" id="feeds">Ao carregar os feedseste texto
  irá sumir!</div>
• Com jQuery realizar requisições ajax
 tornou-se uma tarefa extramente trivial
  – Adicionar no arquivo meujs.js
     • $("#btn1").click(function() {

         $("#feeds").load("feeds.html");

       });

     • Realiza uma requisição GET para feeds.html e insere o
       resultado no elemento com ID igual a feeds
• Utilizando o post para enviar dados
• Adicionar o código html
<p>Envie algum dado por ajax!</p>
<input type="text" id="myInputText"/><br/>
<button id="btn2">Enviar texto por post</button>
<div class="texto" id="feedsPost">
  Ao carregar os feeds(por ajax) este texto irá sumir!
</div>
• Utilizando o post para enviar dados
• Adicionar no meujs.js
   $("#btn2").click(function() {
          $("#feedsPost").load("pagina.php", {
            dado: $("#myInputText").val()
          }, function(){
            alert("Fim do carregamento dos dados!");
      });
    });

   – Realiza uma requisição POST à página feeds.php passando o parâmetro
          dado com o valor dadopassado
• Complemento para jQuery
• Conjunto de componentes para construção de interfaces gráficas
• Construção de componentes com funcionalidade de arrastar e
  soltar (drag and drop)
• Componentes que podem ter seus tamanhos alterados (resizable)
• Componentes tradicionais
   –   Barras de progresso
   –   Accordion
   –   Calendário (date picker)
   –   Caixas de diálogo e confirmação
   –   Tab panels
   –   Inputs com auto-complete
• Com a mesma simplicidade anteriormente apresentada!
Preparando para utilizar jQuery UI
• Novo Projeto PHP
• Adicionar na tag <head>
  <link type="text/css" href="libs/jquery-ui/css/ui-lightness/jquery-ui-
  1.8.1.custom.css" rel="stylesheet" />
  <script src="libs/jquery.js" type="text/javascript"></script>
  <script type="text/javascript" src="libs/jquery-ui/js/jquery-ui-
  1.8.1.custom.min.js"></script>
  <script src="libs/meujs.js" type="text/javascript"></script>


• Para cada exercício criar uma nova página
UI - Abas com conteúdo estático



<div id="abas">
                                                  No arquivo meujs.js
       <ul>
         <li><a href="#panel1">Panel 1</a></li>
         <li><a href="#panel2">Panel 2</a></li>
         <li><a href="#panel3">Panel 3</a></li>   $("#abas").tabs();
       </ul>
       <div id="panel1">
         <p>Conteudo do painel 1</p>
       </div>
       <div id="panel2">
         <p>Conteudo do painel 2</p>
       </div>
       <div id="panel3">
         <p>Conteudo do painel 3</p>
       </div>
</div>
UI - Abas com conteúdo via ajax



<div id="abas">                             No arquivo meujs.js
       <ul>
         <li><a
     href="pag.php?dado=id1">Show           $("#abas").tabs();
     Time</a></li>
         <li><a href="pag.php?dado=id2">
              Show Small Numbers</a></li>
         <li><a href="pag.php?dado=id3">
              Show Big Numbers</a></li>
       </ul>
</div>
UI - DataPicker
UI - DataPicker
<h1>Exemplos 4 - jQuery UI DataPicker</h1>

    <form action=#">
      <table>
        <tr><td align="right">
            From: <input type="text"/></td></tr>
        <tr><td align="right">
            Departure Date: <input type="text" id="start-date"/></td></tr>
        <tr><td align="right">
            To: <input type="text"/></td></tr>
        <tr><td align="right">
            Return Date: <input type="text" id="end-date"/></td></tr>
        <tr><td align="center">
            <input type="button" value="Show Flights"/>
            <input type="button" value="Show Hotels"/>
          </td></tr>
      </table>
    </form>
UI - DataPicker
• No arquivo meujs.js

$("#start-date").datepicker();
$("#end-date").datepicker();
UI - Autocomplete



<h1>Exemplos 4 - jQuery UI          No arquivo meujs.js
   Autocomplete</h1>
                                    var availableTags = ["c++", "java",
<label for="autoc">Tags: </label>       "php", "coldfusion",
<input id="autoc" />                    "javascript", "asp", "ruby",
                                        "python", "c", "scala",
                                        "groovy", "haskell", "perl"];
                                     $("#autoc").autocomplete({
                                             source: availableTags
                                         });
UI - Button



<h1>Exemplos 4 - jQuery UI            No arquivo meujs.js
   Botões</h1>

                                      $("button,
   <button>Utilizando elemento
   botão</button>                        input:submit,
                                          a").button();
   <input type="submit"
   value="Utilizando input tipo
   submit"/>

   <a href="#">Utilizando tag a</a>
UI - Dialog




<h1>Exemplos 4 - jQuery UI           No arquivo meujs.js
   Dialog</h1>
 <div id="dialog-modal"              $("#dialog-modal").dialog({
   title="Exemplo básico de janela           height: 200,
   com modal">
                                             modal: true
       <p>Adicione informações
   dentor do seu dialog!</p>             });
 </div>
UI - Dragdrop




<div id="draggable" class="ui-       No arquivo meujs.js
    widget-content" style="width:
    150px; height: 150px; padding:   $("#draggable").draggable();
    0.5em;">
       <p>Arraste-me!</p>
</div>
Plugins
• Grande quantidade de plugins disponíveis
  – validação de formulários
  – componentes visuais
  – datagrids
  – tool tips
  – slide shows
  – formatação de números
  – internacionalização
  – efeitos visuais
Quero mais!
• Documentação Oficial jQuery
   – http://docs.jquery.com/Main_Page
• Documentação com exemplos
   – http://visualjquery.com/
• Tutorias
   – http://docs.jquery.com/Tutorials
• 50 plugins
   – http://www.noupe.com/jquery/50-amazing-jquery-examples-
     part1.html
• Plugins
   – http://plugins.jquery.com/
• Livro recomedado
   – jQuery in Action
Duvidas?

Mais conteúdo relacionado

Mais procurados

Java script arrays
Java script arraysJava script arrays
Java script arrays
Frayosh Wadia
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
Php functions
Php functionsPhp functions
Php functions
JIGAR MAKHIJA
 
Introdução à JQuery
Introdução à JQueryIntrodução à JQuery
Introdução à JQuery
André Faria Gomes
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
Felipe J. R. Vieira
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
Luiz Ricardo Silva
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
Léo Dias
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesThreading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Lauren Yew
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and FunctionsJussi Pohjolainen
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Sérgio Souza Costa
 
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
Victor Adriel Oliveira
 
HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
Mayza de Oliveira
 
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e Ajax
Tiago Antônio da Silva
 
07 html formulários
07 html   formulários07 html   formulários
07 html formulários
Centro Paula Souza
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
WebStackAcademy
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dadoselliando dias
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
WebStackAcademy
 

Mais procurados (20)

Java script arrays
Java script arraysJava script arrays
Java script arrays
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Php functions
Php functionsPhp functions
Php functions
 
Introdução à JQuery
Introdução à JQueryIntrodução à JQuery
Introdução à JQuery
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesThreading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and Functions
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
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
 
HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
 
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e Ajax
 
07 html formulários
07 html   formulários07 html   formulários
07 html formulários
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
 
Optional in Java 8
Optional in Java 8Optional in Java 8
Optional in Java 8
 

Destaque

Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
José Alexandre Macedo
 
JQuery - introdução ao
JQuery - introdução ao JQuery - introdução ao
JQuery - introdução ao
Daniel Filho
 
Aprenda jQuery 1.3
Aprenda jQuery 1.3Aprenda jQuery 1.3
Aprenda jQuery 1.3
Helton Marinho
 
Jquery - Introdução v0.1
Jquery - Introdução v0.1Jquery - Introdução v0.1
Jquery - Introdução v0.1
Gustavo Dutra
 
Sessões De Treino Do Ajax
Sessões  De Treino Do AjaxSessões  De Treino Do Ajax
Sessões De Treino Do Ajax
Rafael Hackbarth
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
Marcelo Quinta
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSis
Thiago Miranda
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAfonso Gomes
 

Destaque (9)

Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
 
JQuery - introdução ao
JQuery - introdução ao JQuery - introdução ao
JQuery - introdução ao
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
Aprenda jQuery 1.3
Aprenda jQuery 1.3Aprenda jQuery 1.3
Aprenda jQuery 1.3
 
Jquery - Introdução v0.1
Jquery - Introdução v0.1Jquery - Introdução v0.1
Jquery - Introdução v0.1
 
Sessões De Treino Do Ajax
Sessões  De Treino Do AjaxSessões  De Treino Do Ajax
Sessões De Treino Do Ajax
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSis
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCD
 

Semelhante a jQuery na Prática!

Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
Cristiano Pires Martins
 
jQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajolijQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê Fajoli
Caue Fajoli
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
Miguel Alho
 
CSS & JQquery
CSS & JQqueryCSS & JQquery
CSS & JQquery
ScrumHalf Tool
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQuery
Wesley Lemos
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão Geral
Kaio Valente
 
Jquery a technical overview
Jquery a technical overviewJquery a technical overview
Jquery a technical overview
Alexandre Marreiros
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
Victor Adriel Oliveira
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
Luciano Borges
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
Cristiano Pires Martins
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
Victor Adriel Oliveira
 
J query javascript para seres humanos
J query   javascript para seres humanosJ query   javascript para seres humanos
J query javascript para seres humanosnobios
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
GabrielaMota46
 
Java script aula 06 - dom
Java script   aula 06 - domJava script   aula 06 - dom
Java script aula 06 - dom
Cristiano Pires Martins
 
jQuery
jQueryjQuery
jQuery
Bruno Cunha
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
Adler Medrado
 
HTML & CSS - Aula 2
HTML & CSS - Aula 2HTML & CSS - Aula 2
HTML & CSS - Aula 2
lucampos_si
 

Semelhante a jQuery na Prática! (20)

Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
jQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajolijQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê Fajoli
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Minicurso de jQuery
Minicurso de jQueryMinicurso de jQuery
Minicurso de jQuery
 
CSS & JQquery
CSS & JQqueryCSS & JQquery
CSS & JQquery
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQuery
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão Geral
 
Jquery a technical overview
Jquery a technical overviewJquery a technical overview
Jquery a technical overview
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web 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
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Java script aula 06 - dom
Java script   aula 06 - domJava script   aula 06 - dom
Java script aula 06 - dom
 
jQuery
jQueryjQuery
jQuery
 
jQuery
jQueryjQuery
jQuery
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
 
Html dom, eventos, jquery
Html dom, eventos, jqueryHtml dom, eventos, jquery
Html dom, eventos, jquery
 
HTML & CSS - Aula 2
HTML & CSS - Aula 2HTML & CSS - Aula 2
HTML & CSS - Aula 2
 

Mais de José Alexandre Macedo

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
José Alexandre Macedo
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
José Alexandre Macedo
 
Conquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livreConquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livre
José Alexandre Macedo
 
Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?
José Alexandre Macedo
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
José Alexandre Macedo
 
Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento
Computação Móvel: Perspectivas, Oportunidades e DesenvolvimentoComputação Móvel: Perspectivas, Oportunidades e Desenvolvimento
Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento
José Alexandre Macedo
 
Graph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveisGraph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveis
José Alexandre Macedo
 

Mais de José Alexandre Macedo (7)

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Conquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livreConquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livre
 
Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento
Computação Móvel: Perspectivas, Oportunidades e DesenvolvimentoComputação Móvel: Perspectivas, Oportunidades e Desenvolvimento
Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento
 
Graph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveisGraph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveis
 

jQuery na Prática!

  • 2. O que é jQuery? Biblioteca JavaScript rápida e concisa que simplifica percorrer documentos HTML, manipular eventos, criar animações e interações Ajax para um desenvolvimento web rápido O jQuery foi desenvolvido para mudar a forma com que você escreve JavaScript!
  • 3. Por que utilizá-lo? • Aumento da produtividade • 24kb (versão 1.4.2) para fazer tudo o que você precisa – requisições AJAX – iteração e criação de elementos DOM – tratamento de eventos • Cross-browser – Funciona no Internet Explorer 6.0+, Firefox 2.0+, Safari 2.0+ e Opera 9.0+ • Open Source
  • 6. Manipulação de Elementos DOM • DOM = Document Object Model • Padrão da W3C que define um conjunto de objetos para o HTML e forma de acessá-los e manipulá-los – Todos os elementos HTML, assim como seus textos e atributos podem ser acessados via DOM – Podem ser modificados, removidos, e novos elementos podem ser criados • O HTML DOM é uma plataforma independente de linguagem – A linguagem mais usada para acessá-lo é o JavaScript (onde o jQuery entra para facilitar as coisas) • Window, Document, Table, IFrame, Link, Input Button, InputRadio e Select são alguns dos objetos DOM.
  • 7. A função $ () • Função para selecionar um ou mais elementos DOM em uma página HTML e manipulá-los de diversas formas • É possível fazer outras chamadas subsequentes para filtrar ou adicionar mais objetos a seleção atual e manipulá-los • O $ por si só é um alias para a "classe" jQuery
  • 8. Preparando para o Hello World • Colocar dentro da tag <head> <script src="jquery.js" type="text/javascript"></script> <script src="meujs.js" type="text/javascript"></script> • Colocar dentro do <body> <h1>Hello World com jQuery!</h1> <a id="first" href="#">Link 0</a> <a name="top" href="#">Link 1</a><a name="bottom" href="#">Link 2</a> <div id="div1"> </div>
  • 9. Hello World no jQuery! • No arquivo meujs.js adicionar $(document).ready(function() { $("a").click(function() { alert("Olá mundo!"); }); });
  • 10. Hello World no jQuery! • Vamos dar uma olhada no que estamos fazendo: – $("a") seleciona todos os elementos <a> – A função click() é um método do objeto jQuery. Liga o evento clique a todos os elementos selecionados e executa a função fornecida quando o evento ocorre – Similar ao código: • <a href="#" onclick="alert('Olá mundo')">Link</a>
  • 11. Exercicio 1 • $('div').add('p.quote').html('um pequeno teste!'); • $("#rodape").css('color', 'red'); – Obtém o elemento com ID igual a rodapé e altera sua cor para vermelho. • $("button.classButtons").click(function() { alert('Bom Dia') }); – Obtém todos os elementos do tipo button com classe classButtons e vincula o evento onclick (ao clicar) desse elemento à uma função que exibe uma caixa de diálogo (alert) • $('td').css("color","blue"); – Obtém todos os elementos td (células de tabelas) e para cada elemento encontrado executa uma função que exibe uma caixa de diálogo (alert) com ID do elemento • $("tr:first").css("font-style","italic"); – Obtém apenas o primeiro elemento tr encontrado
  • 13. Seleção Básica • #id. Seleciona o elemento com determinado id – Exemplo: $("#primDiv").css("background-color","black"); • elemento. Seleção pelo elemento HTML – Exemplo: $("div").css("border","9px double red"); • .classe. Elementos de determinada classe – Exemplo: $(".destaque").css("fontWeight","bolder"); • .classe.classe. Elementos que pertençam a ambas classes. – Exemplo: $(".destaque. especial").css("color","red"); • *. Todos elementos – Exemplo: $("*").css("color","black"); • Combinação dos anteriores com virgula – Exemplo: $("div,span,p.olho").css("margin","3px 0 0 0");
  • 14. Seleção Hierarquia • Ascendente Descendente. Seleção de descendentes de determinado elemento – Exemplo: $("form label").css("color","gray"); • Pai > Filho. Seleção de elementos-filho de um determinado elemento – Exemplo: $("#conteudo > *") .css("border","2px solid green"); • Anterior + Seguinte. Seleção de elemento que segue-se a um determinado elemento – Exemplo: $("label + input").css("border","1px dotted blue"); • Anterior ~ Irmãos. Seleção de elementos-irmãos após determinado elemento – Exemplo: $("#inicio ~ div").css("color","aquamarine");
  • 15. Seleção com Filtros • :first. Primeiro elemento da seleção – Exemplo: $("tr:first").css("font-style","italic"); • :last. Inverso de :first • :not(seletor). Filtra elementos que não se encaixam em determinado seletor – Exemplo: $("input:not(:checked) + span") .css("border","1px dotted darkSalmon"); • :even. Elementos com índice par, considerado que o índice inicia em zero. – Exemplo: $("tr:even").css("background-color","lavender"); • :odd. Inverso de :even • :eq(índice). Determinado elemento pelo seu índice – Exemplo: $("td:eq(2)").css("background-color","MintCream"); • :gt(índice). Todos elementos com índice superior a determinado valor. – Exemplo: $("p:gt(1)").hide(); • :lt(índice). Inverso de :gt(índice) • :header. Todos elementos header – Exemplo: $(":header").css("color","navy"); • :animated. Todos elementos que estão sendo animados no momento da seleção.
  • 16. Seleção com Filtros de Conteúdo • :contains(texto). Seleciona elementos que contenha determinado texto – Exemplo: $("p:contains('JQuery')").css("text-decoration","underline"); • :empty. Seleciona elementos sem filhos – Exemplo: $("td:empty").css("background-color","MediumOrchid"); • :has(seletor). Seleciona elementos que contenham ao menos um determinado elemento que combine com o seletor informado – Exemplo: $("div:has(p)").addClass("grade"); • :parent. Seleciona elementos que tenham elementos filhos – Exemplo: $("td:parent").hide();
  • 17. Seleção com Filtros de Visibilidade • :hidden: Seleciona elementos ocultados – Exemplo: $("div:hidden").show(2000); • :visible. Inverso de :hidden
  • 18. Seleção com Filtros de Atributos • [atributo]. Elementos que contenham determinado atributo – Exemplo: $("div[id]").css("color","lime"); • [atributo=valor]. Elementos com atributo que tenham determinado valor – Exemplo: $("p[class='ocultar']").hide(3000); • [atributo!=valor]. Elementos com atributo que não tenham determinado valor • [atributo^=valor]. Elementos com atributo que inicie com determinado valor – Exemplo: $("input[name^='req']").val("Requerido"); • [atributo$=valor]. Elementos com atributo que termine com determinado valor • [atributo*=valor]. Elementos com atributo que contenha determinado valor • Estes filtros podem ser combinados como neste exemplo: $("input[type='text'][id]").css("color","Darkred");
  • 19. Seleção por Elementos do formulário • Também podem ser selecionados os elementos de formulários como – :input – :text – :password – :radio – :checkbox – :submit – :image – :reset – :button – :file • Exemplo – $("form :checkbox").css("border","2px solid LightSlateGray");
  • 20. Seleção por Estado dos Elementos de Formulário • Os elementos de formulários podem ter sua seleção refinada pelo estado destes elementos São exemplos • :enabled • :disabled • :checked • :selected • Um exemplo de uso seria – alert($("input:checked").length + " selecionados");
  • 21. Exercicio 2 - Efeitos • Dentro da tag <body> <h1>Exercicio 2 com jQuery</h1> <button id="btn1">Show div</button> <button id="btn2">Desaparecer div</button> <div class="texto" id="div1"> <p> Caixa de texto que aparecerá e desaparecerá com as funções do jQuery!</p> </div>
  • 22. Exercicio 2 - Efeitos • Dentro da arquivo meujs.js $(document).ready(function() { $("#btn1").click(function() { $("#div1").fadeIn(); }); $("#btn2").click(function() { $("#div1").fadeOut(); }); });
  • 24. Preparando o terreno • Criar novo projeto Php • Adicionar biblioteca jQuery • Importar o caminho da biblioteca no <head> • Criar uma página que receberá o código html <button id="btn1">Carregar Feeds por ajax</button><div class="texto" id="feeds">Ao carregar os feedseste texto irá sumir!</div>
  • 25. • Com jQuery realizar requisições ajax tornou-se uma tarefa extramente trivial – Adicionar no arquivo meujs.js • $("#btn1").click(function() { $("#feeds").load("feeds.html"); }); • Realiza uma requisição GET para feeds.html e insere o resultado no elemento com ID igual a feeds
  • 26. • Utilizando o post para enviar dados • Adicionar o código html <p>Envie algum dado por ajax!</p> <input type="text" id="myInputText"/><br/> <button id="btn2">Enviar texto por post</button> <div class="texto" id="feedsPost"> Ao carregar os feeds(por ajax) este texto irá sumir! </div>
  • 27. • Utilizando o post para enviar dados • Adicionar no meujs.js $("#btn2").click(function() { $("#feedsPost").load("pagina.php", { dado: $("#myInputText").val() }, function(){ alert("Fim do carregamento dos dados!"); }); }); – Realiza uma requisição POST à página feeds.php passando o parâmetro dado com o valor dadopassado
  • 28.
  • 29. • Complemento para jQuery • Conjunto de componentes para construção de interfaces gráficas • Construção de componentes com funcionalidade de arrastar e soltar (drag and drop) • Componentes que podem ter seus tamanhos alterados (resizable) • Componentes tradicionais – Barras de progresso – Accordion – Calendário (date picker) – Caixas de diálogo e confirmação – Tab panels – Inputs com auto-complete • Com a mesma simplicidade anteriormente apresentada!
  • 30. Preparando para utilizar jQuery UI • Novo Projeto PHP • Adicionar na tag <head> <link type="text/css" href="libs/jquery-ui/css/ui-lightness/jquery-ui- 1.8.1.custom.css" rel="stylesheet" /> <script src="libs/jquery.js" type="text/javascript"></script> <script type="text/javascript" src="libs/jquery-ui/js/jquery-ui- 1.8.1.custom.min.js"></script> <script src="libs/meujs.js" type="text/javascript"></script> • Para cada exercício criar uma nova página
  • 31. UI - Abas com conteúdo estático <div id="abas"> No arquivo meujs.js <ul> <li><a href="#panel1">Panel 1</a></li> <li><a href="#panel2">Panel 2</a></li> <li><a href="#panel3">Panel 3</a></li> $("#abas").tabs(); </ul> <div id="panel1"> <p>Conteudo do painel 1</p> </div> <div id="panel2"> <p>Conteudo do painel 2</p> </div> <div id="panel3"> <p>Conteudo do painel 3</p> </div> </div>
  • 32. UI - Abas com conteúdo via ajax <div id="abas"> No arquivo meujs.js <ul> <li><a href="pag.php?dado=id1">Show $("#abas").tabs(); Time</a></li> <li><a href="pag.php?dado=id2"> Show Small Numbers</a></li> <li><a href="pag.php?dado=id3"> Show Big Numbers</a></li> </ul> </div>
  • 34. UI - DataPicker <h1>Exemplos 4 - jQuery UI DataPicker</h1> <form action=#"> <table> <tr><td align="right"> From: <input type="text"/></td></tr> <tr><td align="right"> Departure Date: <input type="text" id="start-date"/></td></tr> <tr><td align="right"> To: <input type="text"/></td></tr> <tr><td align="right"> Return Date: <input type="text" id="end-date"/></td></tr> <tr><td align="center"> <input type="button" value="Show Flights"/> <input type="button" value="Show Hotels"/> </td></tr> </table> </form>
  • 35. UI - DataPicker • No arquivo meujs.js $("#start-date").datepicker(); $("#end-date").datepicker();
  • 36. UI - Autocomplete <h1>Exemplos 4 - jQuery UI No arquivo meujs.js Autocomplete</h1> var availableTags = ["c++", "java", <label for="autoc">Tags: </label> "php", "coldfusion", <input id="autoc" /> "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "perl"]; $("#autoc").autocomplete({ source: availableTags });
  • 37. UI - Button <h1>Exemplos 4 - jQuery UI No arquivo meujs.js Botões</h1> $("button, <button>Utilizando elemento botão</button> input:submit, a").button(); <input type="submit" value="Utilizando input tipo submit"/> <a href="#">Utilizando tag a</a>
  • 38. UI - Dialog <h1>Exemplos 4 - jQuery UI No arquivo meujs.js Dialog</h1> <div id="dialog-modal" $("#dialog-modal").dialog({ title="Exemplo básico de janela height: 200, com modal"> modal: true <p>Adicione informações dentor do seu dialog!</p> }); </div>
  • 39. UI - Dragdrop <div id="draggable" class="ui- No arquivo meujs.js widget-content" style="width: 150px; height: 150px; padding: $("#draggable").draggable(); 0.5em;"> <p>Arraste-me!</p> </div>
  • 40. Plugins • Grande quantidade de plugins disponíveis – validação de formulários – componentes visuais – datagrids – tool tips – slide shows – formatação de números – internacionalização – efeitos visuais
  • 41. Quero mais! • Documentação Oficial jQuery – http://docs.jquery.com/Main_Page • Documentação com exemplos – http://visualjquery.com/ • Tutorias – http://docs.jquery.com/Tutorials • 50 plugins – http://www.noupe.com/jquery/50-amazing-jquery-examples- part1.html • Plugins – http://plugins.jquery.com/ • Livro recomedado – jQuery in Action