SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
jQuery
Simplificando o JavaScript

Everaldo Wanderlei Uavniczak
everaldouav@gmail.com
Sobre a apresentação
Nível:
- Iniciante
Indicada para:
- "Profissionais Web" (WebMaster, WebDesigners, WebDevelopers)
- Programadores
- Profissionais de Marketing Digital
Pré-requisitos:
- Nenhum, embora HTML, JavaScript e CSS ajudam
Objetivo:
Habilitar a quem nunca tenha programado em JavaScript o uso
de jQuery nos seus projetos [de aplicação] Web
WTF is jQuery?
jQuery é um framework para ajudar os desenvolvedores a se
concentrarem na lógica dos sistemas da web e não nos
problemas de incompatibilidade dos navegadores atuais.

Seu lema é escrever menos e fazer mais

"O foco principal da biblioteca jQuery é a simplicidade. Por
que submeter os desenvolvedores ao martírio de escrever
longos e complexos códigos para criar simples efeitos?"
(John Resig - criador do jQuery)
Características
Leve (56kb jquery-1.3.2.min.js)

Rápido

Simples

Extensível (plugin)

Cross-browser
Compatibilidade
Firefox 1.5+
Internet Explorer 6+
Safari 2.0.2+
Opera 9+

Apresenta problemas com:
FF 1.0.x
IE 1-5.
Safari 1.
Safari 2.0
Opera 1.0-8.5
Konqueror
Quem usa jQuery?
Google
Dell
Digg
MSNBC
Amazon
Intel
BBC
Newsweek
AOL
Oracle
Cisco Systems
Technorati
Sourceforge

Salesforce
Newsgator
The Onion
Feedburner
Vodafone
Linux.com
Logitech
Mozilla
Wordpress
Drupal
Trac
Joomla
muitos outros...
Pra que serve?
Adicionar efeitos visuais e animação;
Acessar e Manipular o DOM (Document Object Model)
AJAX;
Prover interatividade;
Alterar Conteúdo;
Modificar apresentação e estilização;
Simplificar tarefas do JavaScript;
Muito mais...
O que jQuery permite
Utiliza seletores CSS para localizar elementos na estrutura
da marcação HTML na página;
Realizar interação implícita (permite percorrer a estrutura
dos elementos sem usar loop);
Utilizar programação encadeada (cada método retorna um
objeto);
Etc...
Obstrusivo X Não Obstrusivo
// OBSTRUSIVO:
<p onclick="alert('teste');">bla bla bla</p>

// NÃO OBSTRUSIVO:
// jquery
$('p.teste').onclick(function() {
alert('teste');
});
// html
<p class="teste">bla bla bla</p>
Como instalar
Baixe o arquivo no site em http://jquery.com/ e coloque o
seguinte código entre as tags HEAD.

<html>
<head>
...
<script type="text/javascript" charset="utf-8"
src="arquivo_jquery.js"></script>
...
</head>
<body>
...
Workflow sugerido no
Desenvolvimento Web
Vejam exemplos nos endereços abaixo
1) HTML (somente HTML)
http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_nocss_nojquery.html

2) HTML + CSS
http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_css_nojquery.html

3) HTML + CSS + jQuery
http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_css_jquery.html

4) HTML + CSS + jQuery + Firulas + Perfumarias + Etc
http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_css_jquery_firulas.html
Vejam também o "Menu do site do Maujor":
http://www.livrojquery.com.br/cap_14/arquivo-14.2a.html
Construtor jQuery

$()
Funcionamento do jQuery
Encontre algo e faça alguma coisa
$('p').css('color', 'blue');
$('#teste').addClass('classe_para_teste');
ou
jQuery('p').css('color', 'blue');
jQuery('#teste').addClass('classe_para_teste');
Métodos encadeados:
$('p').children('b').css('color', blue').addClass('classe_bold').fadeOut();
O método ready()
Executa um código quando a página for carregada
Com JavaScript
window.onload = function () { ... }
Com jQuery
Modo Descritivo
$(document).ready(function() { ... });
Modo Resumido
$().ready(function() { ... });
Modo Simplificado (Abreviado)
$(function() { ...}
Seletores jQuery

$(expressão [, contexto])
Sem especificar o contexto
$('div').css('color', 'blue');
$('div', $(document) ).css('color', 'blue');

Especificando o contexto
$('p', $('#teste')).css('color', 'blue');
Tipos de Seletores
Compreenda eles e compreenderá jQuery
Seletores Gerais
Seletores Simples
Seletores Compostos
Seletores Filtros
Seletores de Conteúdo
Seletores de Atributo
Filtro para Seletores-Filho
Seletores de Formulário *
Filtros para Formulários *
Seletores gerais
$(html) ou $(text)
Adicionam conteúdo HTML ou Texto na página
// adiciona conteúdo HTML no documento,
// no final da TAG HTML BODY
$('<p>teste peste</p>').prependTo('body');
$('teste peste').prependTo('body');
Seletores Simples
Acessam elementos, classes, identificadores ou todos
eles combinados
Elementos
$('p').css('color', 'blue');
Classes (class)
$('.classe_teste').css('color', 'blue');
Identificadores (id)
$('#teste_peste').css('color', 'blue');
Combinações
$('p, li, #teste, li.classe, .xyz').css('color', 'blue');
Seletores Compostos (1)
$(ancestral descendente)
// acessa o elemento B que tenha como
//ancestral um elemento DIV
$('div b').css('color', 'blue');
DIV
B -> OK
I
B -> OK
/DIV
Seletores Compostos (2)
$(pai > filho)
// Acessa todos elementos P que tenham
// um elemento DIV como pai
$('div > p').css('color', 'blue');
DIV
P
DIV
P
P
H2
/DIV

-> OK
-> OK
-> OK
Seletores Compostos (3)
$(anterior + posterior)

// Acessa o elemento P que segue
// o elemento DIV
$('div + p').css('color', 'blue');
DIV
P
P
P
P
/DIV

-> OK
Seletores Compostos (4)
$(anterior ~ irmãos)
// Acessa todos P que são irmãos
// e descendentes de H1
$('h1 ~ p').css('color', 'blue');
P
H1
P
-> OK
DIV
P
-> OK
P
-> OK
DIV
Seletores Filtros (1)
$(seletor:first), $(seletor:last)
$('li:first').css('color', 'blue');
$('li:last').css('color', 'blue');

UL
LI -> OK (first)
LI
LI
LI -> OK (last)
/UL
Seletores Filtros (2)
$(seletor:not(seletor2))
$('li:not(li:first)').css('color', 'blue');

UL
LI
LI -> OK
LI -> OK
LI -> OK
/UL
Seletores Filtros (3)
$(seletor:even), $(seletor:odd)
Seletores não previsto nas CSS
$('tr:even').css('color', 'blue');
$('tr:odd').css('color', 'lime');
TABLE
TR
TR
TR
TR
TR
/TABLE

->
->
->
->
->

OK
OK
OK
OK
OK

even
odd
even
odd
even
Seletores Filtros (4)
$(seletor:eq(índice))
Seletores não previsto nas CSS
Contagem inicia em 0 (zero)
$('li:eq(1)').css('color', 'blue');
UL
LI
LI -> OK
LI
LI
/UL

// elemento de índice 1
Seletores Filtros (5)
$(seletor:gt(índice)), $(seletor:lt(índice))
Seletores não previsto nas CSS
Contagem inicia em 0 (zero)
$('li:gt(2)').css('color', 'blue');
$('li:gt(2)').css('color', 'blue');
UL
LI
LI
LI
LI
LI
/UL

-> OK lt
-> OK lt
-> OK gt
-> OK gt
Seletores Filtros (6)
$(:header)
Seletores não previsto nas CSS
$(':header').css('color', 'blue');

H1
H2
H3
H2
H2
H3
H4

->
->
->
->
->
->
->

OK
OK
OK
OK
OK
OK
OK
Seletores de Conteúdo (1)
$(seletor:contains(texto))
Seletores não previsto nas CSS
$('p:contains(teste)').css('color', 'blue');

P (conteúdo do parágrafo) /P
DIV (conteúdo de teste) /DIV
P (conteúdo de teste 2) /P

-> OK
Seletores de Conteúdo (2)
$(seletor:empty)
Seletor previsto na CSS3
$('td:empty').css('color', 'blue');
TABLE
TR
TD
TD
TD
TD
TD
/TR
/TABLE

()
(conteúdo da célula)
(outro conteúdo)
()
(mais conteúdo)

-> OK

-> OK
Seletores de Conteúdo (3)
$(seletor1:has(seletor2))
Seletor não previsto nas CSS

$('p:has(b)').css('color', 'blue');

P
P
p
P

B /B

/P
/P
I /I B /B /P
I U /U /I /P

-> OK
-> OK
Seletores de Conteúdo (3)
$(seletor:parent)
Seletor não previsto nas CSS
// Acessa elementos que tenham
// elementos-filhos, ou text-nodes
$('p:parent').css('color', 'blue');

P (texto)
P
P (teste)

/P
/P
/P

-> OK
-> OK
Seletores de Atributo (1)
$(seletor[atributo])
Seletor previsto pela CSS3
// Acessa quem possui um atributo não vazio
$('p[title]').css('color', 'blue');
P
DIV
P title='x'
-> OK
P title='x' class='x' -> OK
P
P id='x' class='x'
Seletores de Atributo (2)
$(seletor[atributo = "valor"])
Seletor previsto pela CSS3
// Acessa quem possui atributo = valor
$('p[lang = "en"]').css('color', 'blue');
P
P
P
P

lang="pt"
lang="pt-BR"
lang="en"
-> OK
lang="pt"
Seletores de Atributo (3)
$(seletor[atributo != "valor"])
Seletor previsto pela CSS3
// Acessa quem tem atributo com o valor
// diferente de "valor"
$('p[lang != "en"]').css('color', 'blue');
P
P
P
P
P

lang="pt"
lang="pt-BR"
lang="en"
lang="pt"

-> OK // lang="" (vazio)
-> OK
-> OK
-> OK
Seletores de Atributo (4)
$(seletor[atributo ^= "valor"])
Seletor previsto pela CSS3
// Acessa quem tem atributo com o valor
// iniciando com "valor"
$('p[atributo ^= "pt"]').css('color', 'blue');
P
P
P
P
P
P

lang="pt"
lang="en"
lang="pt"
lang="pt-br"
lang="pl"

-> OK
-> OK
-> OK
Seletores de Atributo (5)
$(seletor[atributo $= "valor"])
Seletor previsto pela CSS3
// Acessa quem tem atributo com o valor
// iniciando por "valor"
$('p[atributo $= "t"]').css('color', 'blue');
P
P
P
P
P
P

lang="pt"
lang="en"
lang="pt"
lang="pt-br"
lang="xyzt"

-> OK
-> OK
-> OK
Seletores de Atributo (6)
$(seletor[atributo *= "valor"])
Seletor previsto pela CSS3
// Acessa quem tem atributo com o valor
// contendo o "valor"
$('p[title *= "teste"]').css('color', 'blue');

P
P
P
P

title="teste peste" -> OK
title="o teste"
-> OK
title="o teste bla " -> OK
title="bla bla bla "
Seletores de Atributo (7)
$(seletor[filtro-1][filtro-2]...[filtro-n])
Seletor previsto pela CSS3
// Acessa quem contempla todas regras
$('p[lang^="pt"][id][class*="teste"]').css('color','blue');

P id class="teste"
P id class="ab teste ba" lang="pt-BR"
P id class="teste" lang="pt"
P

-> OK
-> OK
Filtro para seletores-filho (1)
$(seletor:first-child), $(seletor:last-child)
Seletor previsto pela CSS3

$('ol li:first-child').css('color', 'blue');
$('ol li:last-child').css('color', 'blue');
OL
LI -> OK
LI
LI
LI -> OK
/OL

first-child

last-child
Filtro para seletores-filho (2)
$(seletor:only-child)
Seletor previsto pela CSS3
$('ol li:only-child').css('color', 'blue');
OL
LI
LI
LI
/OL
OL
LI -> OK
/OL
Filtro para seletores-filho (3)
$(seletor:nth-child(índice/even/odd/equação))
Seletor previsto pela CSS3

Ih, agora F%#@#!!!!
$(function() {
$('button').click(function () {
$('li:nth-child(3n-2)').css('background', 'blue');
$('li:nth-child(3n-1)' ).css('background', 'white');
$('li:nth-child(3n)' ).css('background', 'black');
});
});
<ul id="exercicio" style="background: white;">
<li>Item # 1</li> - azul
<li>Item # 2</li> - branco
<li>Item # 3</li> - preto
<li>Item # 4</li> - azul
<li>Item # 5</li> - branco
<li>Item # 6</li> - preto
<li>Item # 7</li> - azul
<li>Item # 8</li> - branco
<li>Item # 9</li> - preto
</ul>
Manipulação de DOM
Permite alterar propriedades dos elementos

Maiores detalhes acesse:
http://www.livrojquery.com.br/download.php
http://localhost/work/jquery_workshop
Manipulação de atributos
$().attr(nome_atributo) - retorna valor de um atributo
var classe = $('#teste').attr('class');
$().attr({atributo:valor}) - seta valor(es) de atributos do elemento
$('#teste').attr({
title:"teste",
class:"testepeste",
lang:'pt-BR'
});
$().attr(atributo, valor) - seta o valor de um atributo do elemento
$('#teste').attr('title', 'Big Teste Peste');
$().removeAttr(atributo) - remove um atributo do elemento
$('#teste').removeAttr('title');
Manipulando o atributo class
$().addClass('valor_classe') - adiciona uma classe
$('p.testepeste').addClass('teste_classe');
$().hasClass('valor_classe'
verifica se o elemento possui uma classe
var existe = $('#testepeste').hasClass('teste');
$().removeClass('valor_classe') - remove a classe
$('p.testepeste').removeClass('teste_classe');
$().toggleClass('nome_da_classe')
Adiciona uma classe se não existir e vice-versa
$('#testepeste').toggleClass('teste');
Eventos
Permitem interagir com o usuário.
Exemplos de eventos:
- blur
- change
- mouseover
- mouseout
- keypress
- submit
- etc...
Acessem:
http://qfdb.net/workshop/jquery_workshop/cap_5/eventos_auxiliares.html
//

head

$(function() {
$('button').click(function () {
$('ul li:lt(5)').css('color', 'green');
$('ul li:gt(4)').css('color', 'red');
$('ul li:odd').css('fontStyle', 'italic');
$('ul li:odd').css('fontWeight', 'bolder');
$('ul li:nth-child(3n-2)').css('background', 'blue');
$('ul li:nth-child(3n)' ).css('background', 'black');
});
});

//

body

<ul id="exercicio" style="background: white;">
<li>Item # 1</li>
<li>Item # 2</li>
<li>Item # 3</li>
<li>Item # 4</li>
<li>Item # ...</li>
<li>Item # 10</li>
</ul>
<button type="button" style="background: yellow;">Testar o script
</button>
Efeitos
Permitem colocar efeito e animações nas páginas, como
ocultar, controlando os seguintes aspectos:
Visibilidade
Efeito de Opacidade
Efeito Corrediço
Etc...

Acessem:
http://www.livrojquery.com.br/cap_06/arquivo-6.2a.html
http://www.livrojquery.com.br/cap_06/arquivo-6.4a.html
http://qfdb.net/workshop/jquery_workshop/cap_6/efeitos.html
Plugins
Permitem adicionar novas funcionalidades ao jQuery
Como adicionar um plugin???
Para adicionar um plugin basta adicionar o arquivo após o
arquivo do jQuery.

Por exemplo:
<script type="text/javascript" charset="utf-8" src="jquery.js"
></script>
<script type="text/javascript" charset="utf-8" src="jquery.corner.
js"></script>
Como usar um plugin?

Acessem o site do plugin "corner": http://www.malsup.com/jquery/corner/
Referências

http://www.livrojquery.com.br/
Referências
Português
http://www.livrojquery.com.br/
http://qfdb.net/workshop/jquery_workshop/

Inglês
http://visualjquery.com/
neilmiddleton.com/presentations/jQuery%20in%20a%20nutshell.pdf
jquery.com
docs.jquery.com
jquery.com/plugins
learningjquery.com
Perguntas

Mais conteúdo relacionado

Mais procurados

Bootstrap PPT by Mukesh
Bootstrap PPT by MukeshBootstrap PPT by Mukesh
Bootstrap PPT by MukeshMukesh Kumar
 
JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom ManipulationMohammed Arif
 
Retrofit library for android
Retrofit library for androidRetrofit library for android
Retrofit library for androidInnovationM
 
Html5 and-css3-overview
Html5 and-css3-overviewHtml5 and-css3-overview
Html5 and-css3-overviewJacob Nelson
 
Better APIs with GraphQL
Better APIs with GraphQL Better APIs with GraphQL
Better APIs with GraphQL Josh Price
 
presentation in html,css,javascript
presentation in html,css,javascriptpresentation in html,css,javascript
presentation in html,css,javascriptFaysalAhammed5
 
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...Edureka!
 
Difference between frontend and backend
Difference between frontend and backendDifference between frontend and backend
Difference between frontend and backendRahul Rana
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptSeble Nigussie
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technologyTanmoy Barman
 
SOLID, DRY, SLAP design principles
SOLID, DRY, SLAP design principlesSOLID, DRY, SLAP design principles
SOLID, DRY, SLAP design principlesSergey Karpushin
 

Mais procurados (20)

Javascript by geetanjali
Javascript by geetanjaliJavascript by geetanjali
Javascript by geetanjali
 
Javascript
JavascriptJavascript
Javascript
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Jquery
JqueryJquery
Jquery
 
Bootstrap PPT by Mukesh
Bootstrap PPT by MukeshBootstrap PPT by Mukesh
Bootstrap PPT by Mukesh
 
JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom Manipulation
 
Css pseudo-classes
Css pseudo-classesCss pseudo-classes
Css pseudo-classes
 
Retrofit library for android
Retrofit library for androidRetrofit library for android
Retrofit library for android
 
Javascript
JavascriptJavascript
Javascript
 
Html5 and-css3-overview
Html5 and-css3-overviewHtml5 and-css3-overview
Html5 and-css3-overview
 
Better APIs with GraphQL
Better APIs with GraphQL Better APIs with GraphQL
Better APIs with GraphQL
 
presentation in html,css,javascript
presentation in html,css,javascriptpresentation in html,css,javascript
presentation in html,css,javascript
 
Java Script ppt
Java Script pptJava Script ppt
Java Script ppt
 
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
jQuery Tutorial For Beginners | Developing User Interface (UI) Using jQuery |...
 
Difference between frontend and backend
Difference between frontend and backendDifference between frontend and backend
Difference between frontend and backend
 
Retrofit
RetrofitRetrofit
Retrofit
 
Operators in PHP
Operators in PHPOperators in PHP
Operators in PHP
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technology
 
SOLID, DRY, SLAP design principles
SOLID, DRY, SLAP design principlesSOLID, DRY, SLAP design principles
SOLID, DRY, SLAP design principles
 

Semelhante a Simplificando o Javascrip

MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisThiago Miranda
 
jQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajolijQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajoliCaue Fajoli
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão GeralKaio Valente
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfGabrielaMota46
 
J query javascript para seres humanos
J query   javascript para seres humanosJ query   javascript para seres humanos
J query javascript para seres humanosnobios
 
Jquery - Dicas e Truques
Jquery - Dicas e TruquesJquery - Dicas e Truques
Jquery - Dicas e TruquesLambda 3
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)Zeno Rocha
 
Mini Curso de jQuery Lambda3/Globalcode
Mini Curso de jQuery Lambda3/GlobalcodeMini Curso de jQuery Lambda3/Globalcode
Mini Curso de jQuery Lambda3/GlobalcodeVictor Cavalcante
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersHarlley Oliveira
 

Semelhante a Simplificando o Javascrip (20)

jQuery Simplificando o JavaScript
jQuery Simplificando o JavaScriptjQuery Simplificando o JavaScript
jQuery Simplificando o JavaScript
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSis
 
Minicurso de jQuery
Minicurso de jQueryMinicurso de jQuery
Minicurso de jQuery
 
jQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajolijQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê Fajoli
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão Geral
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
HTML + CSS
HTML + CSSHTML + CSS
HTML + CSS
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
jQuery na Prática!
jQuery na Prática!jQuery na Prática!
jQuery na Prática!
 
J query javascript para seres humanos
J query   javascript para seres humanosJ query   javascript para seres humanos
J query javascript para seres humanos
 
Jquery - Dicas e Truques
Jquery - Dicas e TruquesJquery - Dicas e Truques
Jquery - Dicas e Truques
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
Mini Curso de jQuery Lambda3/Globalcode
Mini Curso de jQuery Lambda3/GlobalcodeMini Curso de jQuery Lambda3/Globalcode
Mini Curso de jQuery Lambda3/Globalcode
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Javascript + jQuery
Javascript + jQueryJavascript + jQuery
Javascript + jQuery
 

Último

Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxLeonardoGabriel65
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfHELENO FAVACHO
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptPedro Luis Moraes
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 

Último (20)

Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

Simplificando o Javascrip

  • 1. jQuery Simplificando o JavaScript Everaldo Wanderlei Uavniczak everaldouav@gmail.com
  • 2. Sobre a apresentação Nível: - Iniciante Indicada para: - "Profissionais Web" (WebMaster, WebDesigners, WebDevelopers) - Programadores - Profissionais de Marketing Digital Pré-requisitos: - Nenhum, embora HTML, JavaScript e CSS ajudam Objetivo: Habilitar a quem nunca tenha programado em JavaScript o uso de jQuery nos seus projetos [de aplicação] Web
  • 3. WTF is jQuery? jQuery é um framework para ajudar os desenvolvedores a se concentrarem na lógica dos sistemas da web e não nos problemas de incompatibilidade dos navegadores atuais. Seu lema é escrever menos e fazer mais "O foco principal da biblioteca jQuery é a simplicidade. Por que submeter os desenvolvedores ao martírio de escrever longos e complexos códigos para criar simples efeitos?" (John Resig - criador do jQuery)
  • 5. Compatibilidade Firefox 1.5+ Internet Explorer 6+ Safari 2.0.2+ Opera 9+ Apresenta problemas com: FF 1.0.x IE 1-5. Safari 1. Safari 2.0 Opera 1.0-8.5 Konqueror
  • 6. Quem usa jQuery? Google Dell Digg MSNBC Amazon Intel BBC Newsweek AOL Oracle Cisco Systems Technorati Sourceforge Salesforce Newsgator The Onion Feedburner Vodafone Linux.com Logitech Mozilla Wordpress Drupal Trac Joomla muitos outros...
  • 7. Pra que serve? Adicionar efeitos visuais e animação; Acessar e Manipular o DOM (Document Object Model) AJAX; Prover interatividade; Alterar Conteúdo; Modificar apresentação e estilização; Simplificar tarefas do JavaScript; Muito mais...
  • 8. O que jQuery permite Utiliza seletores CSS para localizar elementos na estrutura da marcação HTML na página; Realizar interação implícita (permite percorrer a estrutura dos elementos sem usar loop); Utilizar programação encadeada (cada método retorna um objeto); Etc...
  • 9. Obstrusivo X Não Obstrusivo // OBSTRUSIVO: <p onclick="alert('teste');">bla bla bla</p> // NÃO OBSTRUSIVO: // jquery $('p.teste').onclick(function() { alert('teste'); }); // html <p class="teste">bla bla bla</p>
  • 10. Como instalar Baixe o arquivo no site em http://jquery.com/ e coloque o seguinte código entre as tags HEAD. <html> <head> ... <script type="text/javascript" charset="utf-8" src="arquivo_jquery.js"></script> ... </head> <body> ...
  • 11. Workflow sugerido no Desenvolvimento Web Vejam exemplos nos endereços abaixo 1) HTML (somente HTML) http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_nocss_nojquery.html 2) HTML + CSS http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_css_nojquery.html 3) HTML + CSS + jQuery http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_css_jquery.html 4) HTML + CSS + jQuery + Firulas + Perfumarias + Etc http://qfdb.net/workshop/jquery_workshop/cap_2/qfdb/index_css_jquery_firulas.html Vejam também o "Menu do site do Maujor": http://www.livrojquery.com.br/cap_14/arquivo-14.2a.html
  • 13. Funcionamento do jQuery Encontre algo e faça alguma coisa $('p').css('color', 'blue'); $('#teste').addClass('classe_para_teste'); ou jQuery('p').css('color', 'blue'); jQuery('#teste').addClass('classe_para_teste'); Métodos encadeados: $('p').children('b').css('color', blue').addClass('classe_bold').fadeOut();
  • 14. O método ready() Executa um código quando a página for carregada Com JavaScript window.onload = function () { ... } Com jQuery Modo Descritivo $(document).ready(function() { ... }); Modo Resumido $().ready(function() { ... }); Modo Simplificado (Abreviado) $(function() { ...}
  • 15. Seletores jQuery $(expressão [, contexto]) Sem especificar o contexto $('div').css('color', 'blue'); $('div', $(document) ).css('color', 'blue'); Especificando o contexto $('p', $('#teste')).css('color', 'blue');
  • 16. Tipos de Seletores Compreenda eles e compreenderá jQuery Seletores Gerais Seletores Simples Seletores Compostos Seletores Filtros Seletores de Conteúdo Seletores de Atributo Filtro para Seletores-Filho Seletores de Formulário * Filtros para Formulários *
  • 17. Seletores gerais $(html) ou $(text) Adicionam conteúdo HTML ou Texto na página // adiciona conteúdo HTML no documento, // no final da TAG HTML BODY $('<p>teste peste</p>').prependTo('body'); $('teste peste').prependTo('body');
  • 18. Seletores Simples Acessam elementos, classes, identificadores ou todos eles combinados Elementos $('p').css('color', 'blue'); Classes (class) $('.classe_teste').css('color', 'blue'); Identificadores (id) $('#teste_peste').css('color', 'blue'); Combinações $('p, li, #teste, li.classe, .xyz').css('color', 'blue');
  • 19. Seletores Compostos (1) $(ancestral descendente) // acessa o elemento B que tenha como //ancestral um elemento DIV $('div b').css('color', 'blue'); DIV B -> OK I B -> OK /DIV
  • 20. Seletores Compostos (2) $(pai > filho) // Acessa todos elementos P que tenham // um elemento DIV como pai $('div > p').css('color', 'blue'); DIV P DIV P P H2 /DIV -> OK -> OK -> OK
  • 21. Seletores Compostos (3) $(anterior + posterior) // Acessa o elemento P que segue // o elemento DIV $('div + p').css('color', 'blue'); DIV P P P P /DIV -> OK
  • 22. Seletores Compostos (4) $(anterior ~ irmãos) // Acessa todos P que são irmãos // e descendentes de H1 $('h1 ~ p').css('color', 'blue'); P H1 P -> OK DIV P -> OK P -> OK DIV
  • 23. Seletores Filtros (1) $(seletor:first), $(seletor:last) $('li:first').css('color', 'blue'); $('li:last').css('color', 'blue'); UL LI -> OK (first) LI LI LI -> OK (last) /UL
  • 25. Seletores Filtros (3) $(seletor:even), $(seletor:odd) Seletores não previsto nas CSS $('tr:even').css('color', 'blue'); $('tr:odd').css('color', 'lime'); TABLE TR TR TR TR TR /TABLE -> -> -> -> -> OK OK OK OK OK even odd even odd even
  • 26. Seletores Filtros (4) $(seletor:eq(índice)) Seletores não previsto nas CSS Contagem inicia em 0 (zero) $('li:eq(1)').css('color', 'blue'); UL LI LI -> OK LI LI /UL // elemento de índice 1
  • 27. Seletores Filtros (5) $(seletor:gt(índice)), $(seletor:lt(índice)) Seletores não previsto nas CSS Contagem inicia em 0 (zero) $('li:gt(2)').css('color', 'blue'); $('li:gt(2)').css('color', 'blue'); UL LI LI LI LI LI /UL -> OK lt -> OK lt -> OK gt -> OK gt
  • 28. Seletores Filtros (6) $(:header) Seletores não previsto nas CSS $(':header').css('color', 'blue'); H1 H2 H3 H2 H2 H3 H4 -> -> -> -> -> -> -> OK OK OK OK OK OK OK
  • 29. Seletores de Conteúdo (1) $(seletor:contains(texto)) Seletores não previsto nas CSS $('p:contains(teste)').css('color', 'blue'); P (conteúdo do parágrafo) /P DIV (conteúdo de teste) /DIV P (conteúdo de teste 2) /P -> OK
  • 30. Seletores de Conteúdo (2) $(seletor:empty) Seletor previsto na CSS3 $('td:empty').css('color', 'blue'); TABLE TR TD TD TD TD TD /TR /TABLE () (conteúdo da célula) (outro conteúdo) () (mais conteúdo) -> OK -> OK
  • 31. Seletores de Conteúdo (3) $(seletor1:has(seletor2)) Seletor não previsto nas CSS $('p:has(b)').css('color', 'blue'); P P p P B /B /P /P I /I B /B /P I U /U /I /P -> OK -> OK
  • 32. Seletores de Conteúdo (3) $(seletor:parent) Seletor não previsto nas CSS // Acessa elementos que tenham // elementos-filhos, ou text-nodes $('p:parent').css('color', 'blue'); P (texto) P P (teste) /P /P /P -> OK -> OK
  • 33. Seletores de Atributo (1) $(seletor[atributo]) Seletor previsto pela CSS3 // Acessa quem possui um atributo não vazio $('p[title]').css('color', 'blue'); P DIV P title='x' -> OK P title='x' class='x' -> OK P P id='x' class='x'
  • 34. Seletores de Atributo (2) $(seletor[atributo = "valor"]) Seletor previsto pela CSS3 // Acessa quem possui atributo = valor $('p[lang = "en"]').css('color', 'blue'); P P P P lang="pt" lang="pt-BR" lang="en" -> OK lang="pt"
  • 35. Seletores de Atributo (3) $(seletor[atributo != "valor"]) Seletor previsto pela CSS3 // Acessa quem tem atributo com o valor // diferente de "valor" $('p[lang != "en"]').css('color', 'blue'); P P P P P lang="pt" lang="pt-BR" lang="en" lang="pt" -> OK // lang="" (vazio) -> OK -> OK -> OK
  • 36. Seletores de Atributo (4) $(seletor[atributo ^= "valor"]) Seletor previsto pela CSS3 // Acessa quem tem atributo com o valor // iniciando com "valor" $('p[atributo ^= "pt"]').css('color', 'blue'); P P P P P P lang="pt" lang="en" lang="pt" lang="pt-br" lang="pl" -> OK -> OK -> OK
  • 37. Seletores de Atributo (5) $(seletor[atributo $= "valor"]) Seletor previsto pela CSS3 // Acessa quem tem atributo com o valor // iniciando por "valor" $('p[atributo $= "t"]').css('color', 'blue'); P P P P P P lang="pt" lang="en" lang="pt" lang="pt-br" lang="xyzt" -> OK -> OK -> OK
  • 38. Seletores de Atributo (6) $(seletor[atributo *= "valor"]) Seletor previsto pela CSS3 // Acessa quem tem atributo com o valor // contendo o "valor" $('p[title *= "teste"]').css('color', 'blue'); P P P P title="teste peste" -> OK title="o teste" -> OK title="o teste bla " -> OK title="bla bla bla "
  • 39. Seletores de Atributo (7) $(seletor[filtro-1][filtro-2]...[filtro-n]) Seletor previsto pela CSS3 // Acessa quem contempla todas regras $('p[lang^="pt"][id][class*="teste"]').css('color','blue'); P id class="teste" P id class="ab teste ba" lang="pt-BR" P id class="teste" lang="pt" P -> OK -> OK
  • 40. Filtro para seletores-filho (1) $(seletor:first-child), $(seletor:last-child) Seletor previsto pela CSS3 $('ol li:first-child').css('color', 'blue'); $('ol li:last-child').css('color', 'blue'); OL LI -> OK LI LI LI -> OK /OL first-child last-child
  • 41. Filtro para seletores-filho (2) $(seletor:only-child) Seletor previsto pela CSS3 $('ol li:only-child').css('color', 'blue'); OL LI LI LI /OL OL LI -> OK /OL
  • 42. Filtro para seletores-filho (3) $(seletor:nth-child(índice/even/odd/equação)) Seletor previsto pela CSS3 Ih, agora F%#@#!!!!
  • 43. $(function() { $('button').click(function () { $('li:nth-child(3n-2)').css('background', 'blue'); $('li:nth-child(3n-1)' ).css('background', 'white'); $('li:nth-child(3n)' ).css('background', 'black'); }); }); <ul id="exercicio" style="background: white;"> <li>Item # 1</li> - azul <li>Item # 2</li> - branco <li>Item # 3</li> - preto <li>Item # 4</li> - azul <li>Item # 5</li> - branco <li>Item # 6</li> - preto <li>Item # 7</li> - azul <li>Item # 8</li> - branco <li>Item # 9</li> - preto </ul>
  • 44. Manipulação de DOM Permite alterar propriedades dos elementos Maiores detalhes acesse: http://www.livrojquery.com.br/download.php http://localhost/work/jquery_workshop
  • 45. Manipulação de atributos $().attr(nome_atributo) - retorna valor de um atributo var classe = $('#teste').attr('class'); $().attr({atributo:valor}) - seta valor(es) de atributos do elemento $('#teste').attr({ title:"teste", class:"testepeste", lang:'pt-BR' }); $().attr(atributo, valor) - seta o valor de um atributo do elemento $('#teste').attr('title', 'Big Teste Peste'); $().removeAttr(atributo) - remove um atributo do elemento $('#teste').removeAttr('title');
  • 46. Manipulando o atributo class $().addClass('valor_classe') - adiciona uma classe $('p.testepeste').addClass('teste_classe'); $().hasClass('valor_classe' verifica se o elemento possui uma classe var existe = $('#testepeste').hasClass('teste'); $().removeClass('valor_classe') - remove a classe $('p.testepeste').removeClass('teste_classe'); $().toggleClass('nome_da_classe') Adiciona uma classe se não existir e vice-versa $('#testepeste').toggleClass('teste');
  • 47. Eventos Permitem interagir com o usuário. Exemplos de eventos: - blur - change - mouseover - mouseout - keypress - submit - etc... Acessem: http://qfdb.net/workshop/jquery_workshop/cap_5/eventos_auxiliares.html
  • 48. // head $(function() { $('button').click(function () { $('ul li:lt(5)').css('color', 'green'); $('ul li:gt(4)').css('color', 'red'); $('ul li:odd').css('fontStyle', 'italic'); $('ul li:odd').css('fontWeight', 'bolder'); $('ul li:nth-child(3n-2)').css('background', 'blue'); $('ul li:nth-child(3n)' ).css('background', 'black'); }); }); // body <ul id="exercicio" style="background: white;"> <li>Item # 1</li> <li>Item # 2</li> <li>Item # 3</li> <li>Item # 4</li> <li>Item # ...</li> <li>Item # 10</li> </ul> <button type="button" style="background: yellow;">Testar o script </button>
  • 49. Efeitos Permitem colocar efeito e animações nas páginas, como ocultar, controlando os seguintes aspectos: Visibilidade Efeito de Opacidade Efeito Corrediço Etc... Acessem: http://www.livrojquery.com.br/cap_06/arquivo-6.2a.html http://www.livrojquery.com.br/cap_06/arquivo-6.4a.html http://qfdb.net/workshop/jquery_workshop/cap_6/efeitos.html
  • 50. Plugins Permitem adicionar novas funcionalidades ao jQuery Como adicionar um plugin??? Para adicionar um plugin basta adicionar o arquivo após o arquivo do jQuery. Por exemplo: <script type="text/javascript" charset="utf-8" src="jquery.js" ></script> <script type="text/javascript" charset="utf-8" src="jquery.corner. js"></script>
  • 51. Como usar um plugin? Acessem o site do plugin "corner": http://www.malsup.com/jquery/corner/