Table of Contents
- Introdução
- Install
- Métodos de Carregamento e Inicialização
- Lógica de Desenvolvimento do JQuery
- Selectores Hierárquicos
- Eventos de Navegadores
- Eventos de Mouse
- Eventos de Teclado e Formulário
- Efeitos Básicos
Introdução
- JQuery é uma biblioteca JavaScript, criada para facilitar a escrita de código JS nas páginas web
- Tendo algumas vantagens e sua utilização é grande na web:
- A biblioteca é pequena e rápida;
- Possui uma facilidade maior na escrita de código;
- Gera um grande poder para utilizar o JS
- É cross-browser (multi-browsers)
Install
Para instalar o JQquery, ou seja, usa-lo há algumas formas:
- Pode-se apenas colocar o endereço remoto do JQuery usando JSDelivr:
-
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.min.js"></script>
-
- Usando npm ou yarn:
npm install jqueryyarn add jquery
- Ou mesmo, a mais comum que é baixando ele:
- Vá no site:
https://jquery.com/ - Click em Download, instale a versão uncompressed
- Vá no site:
É recomendável que se coloque o arquivo dentro da pasta
js, criada dentro de seu projeto
Métodos de Carregamento e Inicialização
Carregamento:
- Para verificar se o elemento está carregado usa-se o método
ready; - Como por exemplo algo fundamental é todo a lógica acontecer quando o documento estiver carregado,
- ou seja, usamos o elemento
documente verificamos se ele está lido ou carregado;
- ou seja, usamos o elemento
[codigo de exemplo] /* * Assim que esse elemento do DOM for carregado será disparado o alert */ $( document ).ready(function () { alert('DOM CARREGADO!'); }); Inicialização
- Com o método
loadserá executado o callback- assim que todos os elementos forem carregados0 na página
[codigo de exemplo] /* * Assim que todos os elementos do DOM forem carregados será disparado o alert */ $( window ).load(function () { alert('JANELA CARREGADA!'); }); Lógica de Desenvolvimento do JQuery
- No JQuery funciona com seletores, podemos selecionar elementos com ele, através de:
- Tag:
- exemplo |>
$('h1') - Classe:
- exemplo |>
$('.minhaClasse') - ID:
- exemplo |>
$('#meuID')
Assim que selecionado é passado todas as funções nativas do JQuery, as ações são voltadas a eventos
Seletores
Métodos
- Para adicionar atributos CSS no elemento usa-se:
.css()- Sintaxe:
//-> passando apenas um atributo: $('h1').css("color", "#f66"); //-> passando mais de um atributo: $( 'a' ).css({ color: "#9ff", textDecoration: 'underline' }); - Para o elemento inicializar já escondido:
.hide()- Sintaxe:
$('h1').hide(); - Dar um tempo entre eventos, usa-se:
.delay()- O tempo deverá ser informado em microssegundos;
- Sintaxe:
$('h1').delay('1000'); - Fazer com que o elemento selecionado aparecerá:
.fadeIn()- O parâmetro slow - definirá que ele aparecerá de forma lenta;
- Sintaxe:
$('h1').fadeIn('slow'); - Para setar um text dentro de um elemento:
.text()- O parâmetro slow - definirá que ele aparecerá de forma lenta;
- Sintaxe:
$('h1').text('Learn JQuery in DevPunk'); Modos de encadeamento de comandos:
-
Obs: Podemos colocar todos os métodos de modo individualmente ou seja, separados:
/* *>> Individualmente */ $( 'h1' ).css("color", "#f66"); $( 'h1' ).hide(); $( 'h1' ).delay('1000'); $( 'h1' ).fadeIn('slow'); $( 'h1' ).text('Learn JQuery in DevPunk'); -
Obs: Podemos colocar todos os métodos de modo inline ou seja, na mesma linha:
/* *>> Inline */ $( 'h1' ).css("color", "#f66").hide().delay('1000').fadeIn('slow').text('Learn JQuery in DevPunk'); -
Obs: Podemos colocar todos os métodos de modo inline ou seja, na mesma linha:
/* *>> Bloco */ $( 'h1' ) .css("color", "#f66") .hide() .delay('1000') .fadeIn('slow') .text('Learn JQuery in DevPunk');
Eventos
Para os eventos eles são métodos proprios JQuery, sendo que deve-se passar um callback para quando o evento for chamado
Click
- Para o evento de click usa-se:
$(button).click(function () { alert("HEELO DARK HELL!!!"); }); - Hey, guys! Não podemos esquecer que pode-se usar arrow function ao inves de funções anônima ao usar callbacks, podemos usar assim:
$(button).click(() => { alert("HEELO DARK HELL!!!"); }); Selectores Hierárquicos
- Selecionando elementos filhos:
- exemplo |>
// -> está selecionando a tag (elemento) p dentro da elemento pai que contém a classe content $('.content p') - Selecionando filhos diretos do elemento:
- exemplo |>
$('.div1 > span').css({ color: 'red' }); - Selecionando todos os elemento após o selecionado
- exemplo |>
$('.p1 ~ p').css({ fontWeight: '400' }); Eventos de Navegadores
- Evento de erro na imagem
- Sintaxe:
$('img').error(function () { let imagem = $(this).attr('src'); alert(``); $('img').attr('src', 'img/error.png'); }); - **Evento de resize
- Irá redimensionar a imagem referente a largura e espessura da janela quando o evento resize da janela for acionado
- Sintaxe:
let widthWindow = $(window).width(); let heightWindow = $(window).height(); $('img') .width(widthWindow) .height(heightWindow); $(window).resize(function () { $('img') .width(widthWindow) .height(heightWindow); }); - Evento de scroll
// -> Rotina simples $('body').css("height", "7000px"); $(window).scroll(function () { $('img').fadeOut('1000'); }); // -> Rotina setando a imagem conforme o valor do scrollTop pelo evento de scroll $(window).scroll(function () { let top = $(window).scrollTop(); console.log(top); if (top > 400) { $('img').fadeOut('1000'); } else { $('img').fadeIn('1000'); } }); Eventos de Mouse
Click
$('.ev1').click(function () { $(this).css("background", "#ccc"); ex.text("Você clicou!"); }); Dois Clicks
$('.ev2').dbClick(function () { $(this).css("background", "#ccc"); ex.text("Você clicou duas vezes"); }); Focus
$('.ev3') .focusin(function () { $(this).css("background", "#ccc"); ex.text("Você deu o focus"); }) .focusout(function () { $(this).css("background", "#000"); ex.text("Você tirou o focus"); }); Hover
$('.ev4').hover(function () { $(this).css("background", "#ccc"); ex.text("Passou o mouse"); }); Mouse Down
$('.ev5') .mousedown(function () { $(this).css("background", "#ccc");s ex.text("Você apertou o botão do mouse"); }).mouseup(function () { $(this).css("background", "#000"); ex.text("Você soltou o botão do mouse"); }); Mouse Enter
let qtdeEntradasMouse = 0; $('.ev6') .mouseenter(function () { qtdeEntradasMouse++; ex.text(`$Entradas do Mouse: ${qtdeEntradasMouse}`); }) .mouseout(function () { ex.text("Saída do Mouse"); }); Mouse Over / Leave
let qtdeEntradasMouseEv7 = 0; $('.ev7') .mouseover(function () { qtdeEntradasMouseEv7++; ex.text(`Mouse Over: ${qtdeEntradasMouseEv7}`); }) .mouseleave(function () { ex.text("Mouse Leave"); }); Mouse Move
$('.ev8').mousemove(function (move) { let localX = move.pageX(); let localY = move.pageY(); ex.text(`Movimento X: ${localX}px | Movimento Y: ${localY}px` ); }); Onde conseguir mais
Para saber mais vá em: https://api.jquery.com/category/events/mouse-events/
Eventos de Teclado e Formulário
Teclado
Exemplos:
-
Primeiro exemplo:
$('.key').keypress(function () { let text = $(this).val(); ex.text(text); }); -
Segundo exemplo:
$('.key').keydown(function () { let text = $(this).val(); ex.text(text); }); -
Terceiro exemplo:
$('.key').keyup(function () { let text = $(this).val(); ex.text(text); }); Fazendo um placeholder com JQuery:
[index.html] <form action=""> <label> <input type="text" class="place" title="Digite seu nome" /> </label> <label> <input type="text" class="place" title="Digite seu nome" /> </label> <label> <input type="text" class="place" title="Digite seu nome" /> </label> <label> <textarea rows="10" class="place key" title="Digite seu nome" /> </textarea> </label> <label> <button>Botão</button> <button>Enviar</button> </label> </form> [script.js] $('.place').each(function () { let input = $(this); let place = $(this).attr("title"); input .val(place) .css("color", "#ccc") .focusin(function () { input.css("color", "#000"); if (input.val() == place) { input.val(''); } }) .focusout(function () { if (input.val() == '') { input.css("color", "#ccc"); input.val(place); } }); }); Fórmulario
*Exemplos: *
-
Primeiro exemplo:
let ex = $('.ex1'); $('.ev1') .focus(function () { ex.text($(this).attr('title')); }) .keyup(function () { if ($(this).val() == 'pontocom') { $('.ev2').focus(); } }); -
Segundo exemplo:
// será executado callback assim que houver mudança, ou seja, // ¬ assim que mudar o conteudo do input, ele vai chamar a função passada $('.ev1').change(function () { ex.text(`Campo Alterado: ${$(this).val()}`) }); -
Terceiro exemplo:
$('.ev2').blur(function () { ex.text(`Saída do campo: ${$(this).attr('name')}`) }); Quarto exemplo:
$('.selecionar').click(function () { // -> irá selecionar o texto do input $('.ev3').select(); $('form').submit(function () { // -> fará com que o submit não sejá enviado return false; }); }); Onde conseguir mais
Para saber mais vá em:
- Eventos de Teclado: https://api.jquery.com/category/events/keyboard-events/
- Eventos de Form: https://api.jquery.com/category/events/form-events/
Efeitos Básicos
Podemos também usar efeitos e animações básicas e usuais providas diretamente pelo JQuery, para saber mais vá em:
Top comments (0)