• Nenhum resultado encontrado

aula3

N/A
N/A
Protected

Academic year: 2021

Share "aula3"

Copied!
55
0
0

Texto

(1)

jQuery

Desenvolvimento de tecnologia RIA

(2)

Desenvolvimento de tecnologia RIA

jQuery

jQuery é uma biblioteca javaScript "leve" com o principio de escrever menos e fazer mais.

A idéia do jQuery é a de tornar a utilização de javaScript algo mais simples.

jQuery é uma biblioteca cross-browser

(3)

O que podemos fazer com jQuery?

A biblioteca jQuery contém as seguintes funcionalidades:

• Manipulação HTML/DOM • Manipulação CSS • Métodos de Eventos HTML • Efeitos e Animações • AJAX • Utilidades

(4)

Instalação do jQuery

Para instalarmos o jQuery podemos utilizar uma das duas versões disponíveis no seu site www.jquery.com.

A versão de produção (Production) é recomendada para sites que estão no ar, pois é uma versão reduzida e

comprimida.

A versão de desenvolvimento (Development) é utilizada

para ambientes onde se está desenvolvendo uma aplicação ou a testando (versão descomprimida e com fácil leitura).

Também existe a opção de utilizar scripts

disponibilizados através de CDNs como a do Google e

(5)

Como adicionar o jQuery a página?

Caso tenha feito o download do arquivo:

<script src =“jquery-1.11.1.min.js”></script>

Caso venha a usar o jQuery disponibilizado via CDN: <script src="http://ajax.googleapis.com/ajax/libs/

jquery/1.11.1/jquery.min.js"></script>

Quais os problemas que podem existir ao se

utilizar um script obtido através de CDNs?

(6)

Iniciando a utilização

Antes de estudarmos a sintaxe do jQuery, devemos lembrar que caso seu site possua inúmeros scripts de jQuery, o primeiro documento a ser carregador deve ser o próprio jQuery, seguido de seus outros scripts, na ordem de dependência funcional entre os mesmos.

(7)

Sintaxe - jQuery

A sintaxe do jQuery é baseada na seleção de elementos

HTML e execução de algumas ações sobre esses elementos.

Sintaxe básica é: $(seletor).ação()

O simbolo $ define/acessa o jQuery

O seletor é utilizado para achar os elementos HTML

A ação é uma função jQuery a ser executada no elemento selecionado.

(8)

Sintaxe - Exemplos

$(this).hide() - Esconde o elemento atual.

$(“p”). hide() - Esconde todos elementos <p>.

$(“.teste”).hide() - Esconde todos elementos com

class=“teste”.

$(“#teste”).hide() - Esconde todos elementos com

(9)

Iniciando a utilização

Todos os métodos jQuery devem estar dentro do seguinte trecho de código:

$(document).ready(function(){

//Métodos jQuery são escritos aqui });

O motivo dessa prática é o de prevenir que um código seja executado antes que o documento tenha sido totalmente carregado (ready).

(10)

Iniciando a utilização

Existe outra forma de declarar a inicialização do jQuery, que é mais curta porém mais dificil de ser lida:

$(function(){

//Métodos jQuery são escritos aqui… });

(11)

Seletores - Por Nome do Elemento

Todos os seletores em jQuery iniciam com o cifrão e parênteses: $().

É possível selecionar elementos baseado no nome do elemento. Você pode selecionar todos os elementos <p> na página da

seguinte forma:

(12)

Seletores - Exemplo

Exemplo - Quando um usuário clicar em um botão, todos elementos <p> ficam invisíveis:

$(document).ready(function(){ $(“button”).click(function(){

$(“p”). hide(); });

(13)

Seletores - Por ID

Para achar um elemento com um id especifico, escreva um sustenido (hash), seguido do id do elemento HTML:

(14)

Seletores - Por

Class

Para achar um elemento com uma classe especifica, escreva um ponto, seguido do nome da classe:

(15)

Seletores - Avançado

$(“*”) - Seleciona todos os elementos

$(this) - Seleciona o elemento atual

$(“p.intro”) - Seleciona o elemento <p> com class =

"intro"

$(“p:first”) - Seleciona o primeiro elemento <p> do

documento

$(“p:last”) - Seleciona o último elemento <p> do

documento

Maiores informações

sobre seletores disponíveis no jQuery:

http://www.w3schools.com/ jquery/

(16)

Eventos

O que são eventos?

Todas as diferentes ações de um usuário o qual a página web pode responder são chamados de eventos.

Um evento representa o momento preciso de quando algo acontece.

Exemplos:

• Mover o mouse sobre um elemento;

• Selecionar um radio button;

(17)

Eventos

O termo fires (aciona) é comumente utilizado em eventos.

Exemplo: "O evento de keypress é acionado no momento onde você pressiona uma tecla.”

(18)

Eventos - Básicos do DOM

Eventos de Mouse Eventos de Teclado Eventos de Formulários

Eventos de Janela/ Documento

click keypress submit load

dblclick keydown change resize

mouseenter keyup focus scroll

(19)

Eventos - Utilização

A forma de anexar um tratador de evento (event handler) a um elemento: $(element).evento(function(){

//código jQuery });

Exemplo - Event Handler para um click nos elementos <p> $(“p”).click(function(){

$(this).hide(); });

(20)

Eventos - Exemplo

$(“#p1”).hover(function(){ alert(“entrou”); }, function(){ alert(“saiu”); });

Por que nos temos duas funções dentro

do evento hover?

hover =

mouseenter + mouseleave

(21)

Eventos -

eventListeners

O eventListener do jQuery segue o seguinte formato:

$(“document”).on(evento,elemento,function(){});

E diferentemente de um event handler, não precisa estar dentro do bloco de inicialização $(document).ready().

(22)

Eventos -

eventListeners

Exemplo de eventListener em jQuery:

$(document).on(“click”, “#teste”, function(){ alert(“clicou no elemento com id teste”);

(23)

jQuery - Manipulação DOM

Uma parte muito importante do jQuery é a possibilidade de manipular o elemento DOM.

jQuery possui uma grande coleção de métodos

relacionados a facilitar a manipulação de elementos e atributos.

(24)

DOM - Obter conteúdo

Três simples, porém úteis, métodos jQuery para manipulação DOM são:

• text() - Define ou retorna o conteúdo de texto do elemento

selecionado.

• html() - Define ou retorna o conteúdo dos elementos

selecionados (Inclusive a marcação HTML).

• val() - Define ou retorna o valor de um campo de

(25)

DOM - Obter atributos

O método jQuery attr() é utilizado para obter valores de atributos.

O exemplo a seguir demonstra como ele pega os valores de um atributo href de um link.

$(“button”).click(function(){

alert($(“#form_in1").attr(“href”)); });

(26)

jQuery - Definição de Conteúdo

Para definir o conteúdo utilizaremos as mesmas três

funções para obter conteúdo:

• text() • html() • val()

(27)

jQuery - Definição de Conteúdo

Exemplo de definição de conteúdo:

$("#btn1").click(function(){ $(“#teste1").text("Olá mundo!"); }); $("#btn2").click(function(){ $(“#teste2").html("<b>Olá mundo!</b>"); }); $("#btn3").click(function(){ $(“#teste3").val("Valor padrão"); });

(28)

jQuery - Definição de Atributos

O método attr() também é utilizado para alterar e definir valores de atributos.

O exemplo a seguir demonstra como definir um valor de um href em um link:

$("button").click(function(){

$(“#w3s”).attr(“href","http://www.google.com/?q=jquery"); });

(29)

jQuery - Adicionar Elementos

Os quatro principais métodos para adição de elementos são:

• append() - Adiciona conteúdo no final dos elementos

selecionados.

• prepend() - Adiciona conteúdo no início dos elements

selecionados.

• after() - Adiciona conteúdo após os elementos selecionados.

• before() - Adiciona conteúdo antes dos elementos

(30)

jQuery - Remover Elementos

Existem dois métodos ara remover elementos e conteúdo utilizando jQuery.

• remove() - Remove os elementos selecionados (e seus elementos filhos). • empty() - Remove os elementos filhos dos elementos selecionados.

O método remove() também aceita filtros passados por parâmetros, como por exemplo:

• $(“p").remove(".italico");

(31)

jQuery - Manipulação CSS

jQuery possui diversos métodos para manipular o CSS. Nos iremos olhar os seguintes métodos:

• addClass() - Adiciona uma ou mais classes dos elementos

selecionados

• removeClass() - Remove uma ou mais classes dos elementos

selecionados

• toggleClass() - Alterna entre adicionar/remover classes dos

elementos selecionados

(32)

jQuery - Manipulação CSS

Exemplo de addClass() $("button").click(function(){ $("h1,h2,p").addClass("blue"); $("div").addClass("importante"); }); Exemplo de toggleClass() $("button").click(function(){ $("h1,h2,p").toggleClass("blue"); });

(33)

jQuery - Manipulação CSS

O método css() define e retorna um ou mais propriedades de estilo para os elementos selecionados.

css(“nome_da_propriedade”)

Exemplo - retornar propriedade de estilo de um elemento

(34)

jQuery - Manipulação CSS

Para definir múltiplas propriedades CSS, utilizem a seguinte sintaxe:

css({“nome_propriedade”:”valor”,”nome_propriedade”: “valor”, …});

Exemplo - definir cor do background e tamanho da fonte de um elemento

(35)

jQuery - Dimensões

Com o jQuery, é fácil trabalhar com a dimensão de elementos e da janela do navegador.

O jQuery possui diversos métodos específicos para essa atividade, sendo eles:

• width() • height() • innerWidth() • innerHeight() • outerWidth() • outerHeight()

(36)

jQuery - Dimensões

(37)

jQuery - Dimensões

Os métodos width() e height() definem e retornam valores sem incluir

padding, border ou margin.

Exemplo - retornar largura e altura de um elemento ("button").click(function(){ var txt=""; txt+="Width: " + $("#div1").width() + "</br>"; txt+="Height: " + $("#div1").height(); $("#div1").html(txt); });

(38)

jQuery - Dimensões

As funções innerWidth() e innerHeight() retornam valores dos elementos, contendo o valor de padding.

As funções outerWidth() e outerHeight() retornam valores dos elementos, contendo o valor de padding e border e

(39)

jQuery - Efeitos

A biblioteca jQuery contém elementos básicos de animação de elementos como: • Hide • Show • Toggle • Slide • Fade • Animate

(40)

jQuery - Hide/Show/Toggle

Com o jQuery é possível esconder e apresentar elementos HTML com os métodos hide() e show().

$(elemento).hide(tempo, callback); $(element).show(tempo, callback);

É possível alternar entre o hide e show, através do método toggle().

(41)

jQuery - fadeIn

O método fadeIn funciona de forma similar ao show(), porém adiciona uma animação de transição na hora de apresentar o elemento que até então estava invisível.

$(elemento).fadeIn(velocidade, callback);

A velocidade pode ser em numéricos como (1000 = 1s) ou slow para lento e fast para rápido.

(42)

jQuery - fadeOut

Similar ao método fadeIn, o modelo fadeOut adiciona uma animação na transição do elemento, de visível para invisível.

(43)

jQuery - fadeToggle

O método fadeToggle alterna entre os métodos fadeIn() e fadeOut().

• Se os elementos estiverem invisíveis, o método

fadeToggle ira torna-los visíveis.

• Caso estejam visíveis, o método os tornara invisíveis.

(44)

jQuery - fadeTo

Esse método adiciona um controle no qual é possível controlar o nível de opacidade do elemento sendo animado.

$(elemento).fadeTo(tempo, opacidade, callback);

(45)

jQuery - slideDown

Com o jQuery é possível criar efeitos de slide (deslizar) em elementos HTML.

O método slideDown faz um elemento deslizar para baixo.

$(elemento).slideDown(tempo, callback);

(46)

jQuery - slideUp

O método slideUp() anima um elemento em HTML fazendo-o deslizar para cima.

$(elemento).slideUp(tempo, callback);

(47)

jQuery - slideToggle

Similar ao método FadeToggle, o método slideToggle, alterna entre slideUp e slideDown, dependendo do estado de visibilidade do elemento a qual ele está sendo chamado.

(48)

jQuery - animate

O método animate() permite a criação de animações customizadas.

É necessário passar como parâmetro, quais propriedades CSS eram animadas no elemento.

(49)

jQuery - animate

Exemplo de chamada simples do método animate()

$(“#teste”).animate({left: ‘250px’}, 2000);

Exemplo de chamada com múltiplas propriedades

$(“#teste”).animate({

left: ‘250px’, opacity: ‘0.3’, width: ‘550px’, height: ‘55px' }, 600);

(50)

jQuery - animate

Vale lembrar que todas os nomes das propriedades CSS devem ser camel-cased, ou seja (exemplo): ao invés de usar padding-left, utilize paddingLeft.

Nem todos elementos podem ser animados, como por exemplo, animações de cores não são nativas do jQuery e precisam de biblioteca externas para serem executadas.

(51)

jQuery - animate

É possível utilizar valores relativos no método animate().

Exemplo $(“#teste”).animate({ left: ‘200px’, width: ‘+=200px’, height: ‘-= 25px’}, 300);

(52)

jQuery - Empilhar Animações

O jQuery permite criar uma pilha de animações, sendo elas executadas uma após a outra.

var div=$(“#teste”);

1. div.animate({height:'300px',opacity:'0.4'},"slow"); 2. div.animate({width:'300px',opacity:'0.8'},"slow"); 3. div.animate({height:'100px',opacity:'0.4'},"slow"); 4. div.animate({width:'100px',opacity:'0.8'},"slow");

(53)

jQuery - stop

O método stop() permite que as animações sejam interrompidas antes de terminarem.

$(elemento).stop(pararFila, irFim);

O parâmetro pararFila é opcional e serve para limpar a fila de animações do elemento.

O parâmetro irFim serve para definir se a animação deve ir para seu estado final ou não, por padrão o valor setado é false.

(54)

jQuery - callback

O callback serve para executar funções após as animações serem realizadas. Isso previne erros de sequencia de execução no jQuery.

Exemplo

$(“#teste”).hide(“slow”, function(){ alert(“terminou de executar”);

(55)

jQuery - Chaining

O jQuery permite encadear ações/métodos, podendo executar múltiplos métodos em uma única linha de código. Trazendo uma vantagem de desempenho na execução.

Exemplo

Referências

Documentos relacionados

Efeito da calagem e adubação da seringueira no estado nutricional e produção da

APROVADO EM 25-03-2014 INFARMED Foram notificadas reações cutâneas/mucosais após a administração de mesna tanto intravenosa como oral. Estas reações incluêm

Assim sendo, a. tendência assumida pela pós - graduação em co- municação nos anos 60 contribuiu muito menos para melhorar e.. Ora, a comunicação de massa , após a Segunda Guerra

Surgem novas formas de pensar o direito que não almejam a universalidade. O estado plurinacional, a interculturalidade e o pluralismo jurídico, tal como são tratados pelos movimentos

De acordo com as limitações da pesquisa e contribuições do estudo apresentadas, as seguintes pesquisas futuras são sugeridas: aplicar o questionário para maior número de pacientes,

No Estado do Pará as seguintes potencialidades são observadas a partir do processo de descentralização da gestão florestal: i desenvolvimento da política florestal estadual; ii

Considerando a formação da equipe de trabalho, o tempo de realização previsto no projeto de extensão e a especificidade das necessidades dos catadores, algumas

A hipertensão pulmonar é uma doença que pode ou não ter origem em outros distúrbios ou processos clínicos. Nos casos em que se consegue averiguar qual a causa subjacente ao