SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Was ist angesagt?

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 cssLéo Dias
 
An Introduction to the DOM
An Introduction to the DOMAn Introduction to the DOM
An Introduction to the DOMMindy McAdams
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosTiago Antônio da Silva
 
Introdução a Bootstrap 3
Introdução a Bootstrap 3Introdução a Bootstrap 3
Introdução a Bootstrap 3Iago Effting
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoLeinylson Fontinele
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a ObjetoFábio Elísio
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Jose Augusto Cintra
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
HTML5의 web worker
HTML5의 web workerHTML5의 web worker
HTML5의 web workerYongho Ji
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
PHP Workshop Notes
PHP Workshop NotesPHP Workshop Notes
PHP Workshop NotesPamela Fox
 

Was ist angesagt? (20)

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
 
An Introduction to the DOM
An Introduction to the DOMAn Introduction to the DOM
An Introduction to the DOM
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Introdução a Bootstrap 3
Introdução a Bootstrap 3Introdução a Bootstrap 3
Introdução a Bootstrap 3
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - Apresentação
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
HTML5의 web worker
HTML5의 web workerHTML5의 web worker
HTML5의 web worker
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Aula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCLAula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCL
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
PHP Workshop Notes
PHP Workshop NotesPHP Workshop Notes
PHP Workshop Notes
 

Andere mochten auch

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
 
Jquery - Introdução v0.1
Jquery - Introdução v0.1Jquery - Introdução v0.1
Jquery - Introdução v0.1Gustavo Dutra
 
Sessões De Treino Do Ajax
Sessões  De Treino Do AjaxSessões  De Treino Do Ajax
Sessões De Treino Do AjaxRafael Hackbarth
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisThiago Miranda
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAfonso Gomes
 

Andere mochten auch (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
 

Ähnlich wie jQuery na Prática!

Ähnlich wie 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
 

Mehr von 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 DevOpsJosé 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 AndroidJosé 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 livreJosé 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 AndroidJosé 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 DesenvolvimentoJosé 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íveisJosé Alexandre Macedo
 

Mehr von 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
 

Kürzlich hochgeladen

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Kürzlich hochgeladen (8)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

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