Biblioteka jQuery z zbiór metod oraz funkcji współpracujących z JavaScript. Dzięki swej szybkości działania oraz wielu funkcji łatwym staje się poruszanie i manipulacja elementami HTML na stronie internetowej. Animacje czy też korzystanie z technologi Ajax jest prostsze w użyciu dzięki API (Application Programming Interface – interfejs programowania aplikacji). Profesjonalne strony internetowe coraz częściej korzystają z technologii jQuery.
Przykład zastosowania zdarzenia "click()"
$(document).ready(function() { $("#opis1").click(function(){ $(this).toggleClass("highlight"); }); });
Metody:
.ready(function() { } ); wykonaj funkcję po załadowaniu strony. .css("color", "#fff") modyfikacja stylów css danego obiektu .css({"color": "#111", "font-size": 21px, "font-weight": "bold"}) modyfikacja kilku na raz styli danego obiektu .html() zawartość html danego obiektu np. $("p").html() zwartość html w selektorze p .text() zwraca tekst zawarty w danym obiekcie. .append("Dowolny tekst") dołączanie na końcu tekst np do akapitu $("p").append("Dowolny test"); .prepend("Dowolny tekst") dołączany na początku akapitu p lub dodatkowy akapit $("p").prepend("<p>Dodatkowy akapit</p>"); .appendTo $("p[class=opis1]").appendTo("p[class=opis3]"); zawartość z lewej dołączamy do zawartości z prawej czyli p.opis3, zawartość z lewej jest usuwana. .prependTo $("p[class=opis1]").prependTo("p[class=opis3]"); dołączenie do p.opis3 na początku tego akapitu .attr("id") odczyt wartości atrybutu id. .attr("href", "http://www.z-robot.pl"); wpisanie wartości atrybutu href .attr({ href: "http://www.wp.pl", title: "Tytuł", target: "_blanck"}); dodawanie kilku atrybutów .removeAttr("title") usuwanie atrybutu w tym przypadku title .addClass("nazwa-klasy"); dodawanie klasy do wybranego elementu np. $("p").addClass("kasa1"); .removeClass("nazwa-klasy"); usuwanie klasy z wybranego elementu .toggleClass("Nowaklasa"); załączanie i wyłączanie klasy "Nowaklasa" .hasClass("nazwa-klasy") sprawdza czy klasa została przypisana do danego elementu i zwraca war. ture / false .height() wysokość np obrazka .width() szerokość np. .width(200) zmiana szerokości do 200px .innerHeight() wysokość wraz z np. paddingiem .empty() usuwanie elementów podrzędnych np. $("p").empty() usuwamy wszystko co znajduje się wewnątrz akapitu p .remove() podobnie jak empty() z tym, że usuwany zostanie też wskazany element np. akapit p .replaceWith("<p>Coś innego</p>")zamiana na nową treść przyklad $("#opis1").replaceWith("<p>Coś innego</p>"); .bind() - obsługa kilku zdarzeń na raz np. $("p").bind("mouseenter mouseleave", function(){ $(this).toggleClass("highlight"); }); .toggle() - ukrywa/wyświetla wskazany element przykład $("#description").toggle("slow"); .delay(3000) - opóźnienie wykonywania kolejnej metody np. $("#banner").hide().slideDown(2500).delay(3000).slideUp(2500); .offset() - zbiór podstawowych właściwości css odsunięcie o lewej krawędzi (left) i odsunięcie od góry okna (top) .find(".klasa") znajdowanie elementu np. danego elementu z klasą .klasa
Zdarzenia:
.click - pojedyńcze kliknięcie lewy przycisk myszy .dblclick - podwójne kliknięcie .mouseenter - moment gdy umieszczamy kursor mysy nad wybranym elementem .mouseleave - moment gdy opuszcza kursor myszy wybrany elelment .mouseup - moment gdy klikniemy dany element i przytrzymamy wciśnięty przycisk i po chwili zwolnimy go .keypress - zdarzenie wykrywa wciśnięcie dowolnego klawisza .keyup - wykrywa wciśnięcie i przytrzymanie dowolnego klawisza .scroll - wykrywa przewijanie strony przykład $(document).ready(function() { $(document).bind("scroll", function(){ alert("kurs jQuery"); }); }); .hover - zawiera w sobiemouseenter
imouseleave
.focus - moment, kiedy pole np. typu input zostało aktywowane. .blur - moment, kiedy pole zostaje opuszczone .submit - moment, kiedy naciskamy przycisk np. w formularzu :checked zbiór (tablica) elementów, które zostały zaznaczone
Filtry:
$("p").css("color", "green"); przykład
a:first -odnośnik pierwszy a:last - odnośnik ostatni a:eq(0) - pierwszy odnośnik a:gt(3) - wszystkie elementy powyżej 3 a:lt(3) - wszystkie elementy mniejsze niż 3 a:even - usuwanie parzystych odnośników z tablicy a:odd - usuwanie nieparzystych odnośników z tablicy p:contains(test) - wybranie akapitu zawierającego słowo test p:has(a) - wybranie akapitu który w środku zawiera selektro a p a:first-child - pierwszy element podrzędny typu odnośnik(link) w elemencie typu p p a:nth-child(3) - wybrany 3 odnośnik w danym akapicie p[class] - zmiana selektora który posiada atrybut class, p[class=nazwaklasy], p[class$=1] - wybrany zostaje akapit który posiada klasę z nazwą zawierającą na końcu znak 1 p[id] - zmiana selektora który posiada atrybut id, input[value] - wybór selektora input posiadający atrybut value np przycisk.
Właściwości
.length długość danego elementu
Przykłady
Obiekt zdarzenia. Zwraca współrzędne kursora myszki w obszaże paragrafu p
$(document).ready(function() { $("p").click(function(zdarzenie){ alert(zdarzenie.pageX+","+zdarzenie.pageY); }); });
Zmiana obrazka przy pomocy metody hover
$(document).ready(function() { $("#banner").hover(function(){ $(this).attr("src", "img/2.jpg"); }, function(){ $(this).attr("src", "img/1.jpg"); }); });
Walidacja formularzy. Sprawdzenie czy pola name i email nie są puste.
$(document).ready(function() { $("#newsletter").submit(function(){ if(($("#name").val() == "") || ($("#email").val() == "")) { alert("uzupełnij wymagane pola"); return false; } }) });
Sprawdzenie czy został zaznaczone przynajmniej jedno pole chechbox
$(document).ready(function() { $("#newsletter").submit(function(){ if($(":checked").length == 0 ) { alert("żaden element nie został element"); return false; } alert("zaznaczono "+$(":checked").length+" kategoire"); }); });
Zaznaczenie aktywnego pola
$(document).ready(function() { $("input").focus(function(){ $(this).css({ "border": "2px solid #29b6cf", "background": "#fffedd" }); $("input").blur(function(){ $(this).css({ "border": "1px solid #ddd", "background": "#f5f5f5" }); }); }); });
Pole w formularzu z auto uzupełnianiem i kasowaniem wartości value="Podaj swoje imię"
$(document).ready(function() { $("#name1").bind("focus", function(){ if($(this).val() == "Podaj swoje imię") { $(this).val(""); } }); $("#name1").bind("blur", function(){ if($(this).val() == "") { $(this).val("Podaj swoje imię"); } }); });
Podświetlanie wierszy w tabeli
$(document).ready(function() { $("tr").hover(function(){ $(this).css({"background-color": "#01294f", "color": "#fff"}); }, function(){ $(this).css({"background-color": "#fff","color": "gray"}); }); });
Animacja - klika metod w jednej linii
$(document).ready(function() { $("#hide").click(function(){ $("#banner").hide().slideDown(2500).delay(3000).slideUp(2500); }); });
Animacja tekstu w akapicie, zmiana krycia obrazka opicity
$(document).ready(function() { $("#an2").click(function(){ $("#akapit").animate({width: "150px", fontSize: "8px"}, 2000); }); $("#an1").click(function(){ $("#obrazek").animate({opacity: "0"}, 2000); }); });
Animacja pozycji
$(document).ready(function() { $("#right").click(function(){ $("#container").animate({left: "+=500px"}, 400); }); $("#left").click(function(){ $("#container").animate({left: "-=500px"}); }); });
Zwijanie tekstu
$(document).ready(function() { $("p").hide(); $("h2").click(function(){ $(this).next("p").toggle(); }); $("#zwin").click(function(){ $("p").hide(); }); $("#rozwin").click(function(){ $("p").show(); }); });
Podgląd dużego obrazka
$(document).ready(function() { $("#okladkamala").hover(function(){ var pozycja = $("#okladkamala").offset(); $("#okladkaduza").css("left",pozycja.left+76).css("top",pozycja.top+68).show(300); }, function(){ $("#okladkaduza").delay(455).hide(300); } ); });
Zwijane akapity
$(document).ready(function() { $(".rozwiniecie").hide(); $(".rozwiniecie").after("<h4 class=\"pokaz\">"+"Rozwiń"+"</h4>"); $(".pokaz").click(function(){ $(this).prev("p").toggle(); if($(this).text() == "Rozwiń") { $(this).text("Zwiń"); } else { $(this).text("Rozwiń"); } }); });
Usuwanie akapitów
$(document).ready(function() { $(".wstep").append("<h4 class='usun'>"+"Usuń"+"</h4>"); $(".usun").click(function(){ $(this).parents(".artykul").fadeOut(600, function(){ $(this).parents(".artykul").remove(); }); }); });
Wysuwane okienko typu facebook
$(document).ready(function() { $("#slider").hover(function(){ $(this).animate({left: "0px"}); }, function(){ $(this).animate({left: "-292px"}); } ); });
Menu rozwijane
$(document).ready(function() { $("ul#menu li").hover(function() { $(this).find(".podmenu").slideDown(); }, function(){ $(this).find(".podmenu").slideUp(); } ); });
zaczynam od 8.7