Podstawy jQuery

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 sobie  mouseenter i mouseleave 
.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