Upgrade to Pro — share decks privately, control downloads, hide ads and more …

jQuery - Introdução

jQuery - Introdução

Uma introdução sobre o jQuery.

Gustavo Dutra

November 09, 2011
Tweet

More Decks by Gustavo Dutra

Other Decks in Programming

Transcript

  1. void bogosort(int size, int *array) { int i, j; for

    (i = 1; i <= size; i++) if (i == size) return; else if (array[i-1] > array[i]) break; for (i = 0; i < size; i++) { j = rand() % size; if (array[i] != array[j]) { int aux = array[i]; array[i] = array[j]; array[j] = aux; } } bogosort(size, array); } Adaptado de http://pt.wikipedia.org/wiki/Bogosort#C C
  2. from random import shuffle def bogosort(seq): while not all(x<=y for

    x,y in zip(seq,seq[1:])): shuffle(seq) return seq Adaptado de http://pt.wikipedia.org/wiki/Bogosort#Python Python
  3. DOM - Data Object Model Define um padrão para acessar

    documentos DOM Core Qualquer documento DOM XML XML DOM HTML HTML Fonte: http://www.w3schools.com/HTMLDOM/dom_intro.asp OBJETOS MÉTODOS PROPRIEDADES Padrão do quê?
  4. <input type="text" name="start_date" onchange="validDate(this);" /> <input type="text" name="end_date" onchange="validDate(this);" />

    E se o JavaScript não estiver habilitado? E se mudar o nome da função validDate ? E se for adicionado mais parâmetros?
  5. <input type="text" name="start_date" onchange="validDate(this);" /> <input type="text" name="end_date" onchange="validDate(this);" />

    MANDA O ESTAGIÁRIO! E se o JavaScript não estiver habilitado? E se mudar o nome da função validDate ? E se for adicionado mais parâmetros?
  6. <input type="text" name="start_date" class="date" /> <input type="text" name="end_date" class="date" />

    window.onload = function() { var inputs = document.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) { if (inputs.[i].className == 'date') { inputs[i].onchange = function() { validDate(this); } } } } function validDate(element) { //... }
  7. Javascript Não-Obstrusivo Valide em mais de um browser! Não suponha,

    VERIFIQUE! Graceful Degradation Progressive Enhancement
  8. Javascript Não-Obstrusivo Mantenha os scripts o mais seguro POSSÍVEL Valide

    em mais de um browser! Não suponha, VERIFIQUE! Graceful Degradation Progressive Enhancement
  9. jQuery Core Plugins jQuery UI Utilities Internals CSS Events Selectors

    Traversing Effects Manipulation Attributes Ajax
  10. $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul

    li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") div#id div.class ul li li.active li div#id div.class ul li li.active li body S E L E T O R E S
  11. $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul

    li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") div#id div.class ul li li.active li div#id div.class ul li li.active li body S E L E T O R E S
  12. $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul

    li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li body S E L E T O R E S
  13. $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul

    li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li body S E L E T O R E S
  14. $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul

    li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li body S E L E T O R E S
  15. div#id div.class ul li li.active li div#id div.class ul li

    li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") body S E L E T O R E S
  16. div#id div.class ul li li.active li div#id div.class ul li

    li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") body S E L E T O R E S
  17. div#id div.class ul li li.active li div#id div.class ul li

    li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") body S E L E T O R E S
  18. div#id div.class ul li li.active li div#id div.class ul li

    li.active li div#id div.class ul li li.active li div#id div.class ul li li.active li $("div") $("#id") $(".class") $("div#id > div") $("ul li") $("ul li:first,ul li:last") $("ul li:not(li.active)") $("li:contains(Home)") $("li.active ~ li") body S E L E T O R E S
  19. var el = getElementById("myId"); $("li", el); var el = $("#myId");

    $("li", el); $("#myId li"); $("li", "#myId"); C O N T E X T O
  20. A T R I B U T O S $(...)

    .addClass("css-class") .removeClass("css-class") .toggleClass("css-class")
  21. A T R I B U T O S $(...)

    .html() .html("innerHTML") .addClass("css-class") .removeClass("css-class") .toggleClass("css-class")
  22. A T R I B U T O S $(...)

    .text() .text("text") .html() .html("innerHTML") .addClass("css-class") .removeClass("css-class") .toggleClass("css-class")
  23. A T R I B U T O S $(...)

    .attr("id") .attr("id", "new-id") .text() .text("text") .html() .html("innerHTML") .addClass("css-class") .removeClass("css-class") .toggleClass("css-class")
  24. A T R I B U T O S $(...)

    .val() .val("input value"); .attr("id") .attr("id", "new-id") .text() .text("text") .html() .html("innerHTML") .addClass("css-class") .removeClass("css-class") .toggleClass("css-class")
  25. M A N I P U L A R .prepend()

    .append() $(...)
  26. M A N I P U L A R .after()

    $(...) .before() $(...)
  27. M A N I P U L A R $(...)

    .wrap(...) $(...) $(...) $(...) .clone(...) $(...) .clone() cria elementos soltos do documento
  28. E V E N T O S .click(function(event) { //

    ... }); .dblclick(function(event) { // ... }); .blur(function(event) { // ... }); .keypress(function(event) { // ... });
  29. E V E N T O S .hover(function(event) { //

    mouseenter },function(event) { // mouseleave });
  30. E V E N T O S .bind('click', function(event) {

    // ... }); .trigger('click'); .triggerHandler('click');
  31. E V E N T O S .bind('myEv', function(event) {

    // ... }); .trigger('myEv'); .bind('click', function(event) { // ... }); .trigger('click'); .triggerHandler('click');
  32. E F E I T O S .show() .hide() .fadeIn()

    .fadeOut() .slideDown() .slideUp()