A jQuery -rõl I.
Megjelent: 2010. May. 21. 22:48:03
Mi is az a jQuery?
A jQuery egy JavaScript könyvtár, aminek segítségével sokkal könnyebben, rugalmasabban kezelhetünk dolgokat, mégpedig úgy, hogy nem kell közben külön arra is figyelnünk, hogy a kódunk böngésző független legyen. A jQuery-t úgy írták, hogy amit JavaScripttel meg lehet oldani, azt oldja is meg, ha az aktuális böngészőben egyáltalán meg lehet. Ez azért jó, mert a jQuery segítségével sokszor elég egyetlen sort írnunk, ahhoz hogy a programunk jól működjön.
Használata:
Először is meg kell hívnunk abban a dokumentumban, amiben használni szeretnénk. A hívást az oldal HEAD részébe kell tennünk:
GeSHi (javascript):<script type="text/javascript" src="jquery.js"></script>
A jquery.js fájlt letölthetjük a jquery.com oldalról, vagy akár egyből onnan is belinkelhetjük.
1. Példa kód:
GeSHi (javascript):$("a").click(function(){alert("Szia!");});
Nézzük, ez mit is csinál. Az első sorban az $("a") -résszel kijelöljük a dokumentum "a" HTML tagjait/ hivatkozásait. A .click() függvény tartalma akkor fut le, ha rákattintanak a kijelölt elemre.
Összefoglalva: Ha rákattintunk egy linkre egy felugró figyelmeztetésben (alert ablakban), akkor kiírja, hogy "Szia!"
Nézzünk valami hasznosabbat:
2. példa kód:
GeSHi (javascript):$("a").hover(
function() {
$(this).animate({background: "#000", color: "#fff", opacity: 1},"fast");
},function() {
$(this).animate({background: "#fff", color: "#000", opacity: 0.5},5000);
}
);
Nézzük, ez mit csinál. Kijelöljük az a tagokat. A .hover() egy eseménykezelő függvény, (a jquery.com dokumentációjában megvan az összes leírása, annak akit érdekel. lásd: "Events" menüpont). Szóval a .hover() 1. paramétere akkor fut le, ha valamelyik linkre visszük az egeret, a második pedig akkor, ha elvisszük az egeret a link fölül.
Az első paraméter függvényében a this rész az aktuális a tagot jelenti, vagyis azt az a tagot fogjuk kezelni, amelyikre rávitték az egeret. Az .animate() pedig egy effekt függvény. Segítségével a CSS tulajdonságokkal tudunk animációt készíteni.
Az .animate() 1. paraméterében felsoroljuk vesszővel elválasztva a CSS értékeket, (itt background, color, opacity) majd megadjuk neki, hogy mivé módosuljanak az egyes paraméterek az animáció végére. Itt az eredetihez képest a háttérszínt feketére, a szöveget fehérre, és az átlátszóságot 100%-ra állítjuk.
Az .animate() 2. paraméterben az animáció futási idejét adjuk meg.
lehet: "slow" -lassú , "normal" -normális, "fast"- gyors, vagy egy szám (erről még lesz szó.)
A .hover() 2. paraméterében visszaállítjuk, amit az elsőben elállítottunk (fehérre a hátteret, a szöveget feketére, és az átlátszóságot 50%-ra). Az .animate() függvényben a CSS értékeken kívül csak a futásidőt adtuk meg máshogy. Itt egy számot adtunk meg: Az érték 5000, amivel azt érjük el, hogy az animáció 5 másodpercen keresztül fog végbemenni.
Az első paraméter függvényében a this rész az aktuális a tagot jelenti, vagyis azt az a tagot fogjuk kezelni, amelyikre rávitték az egeret. Az .animate() pedig egy effekt függvény. Segítségével a CSS tulajdonságokkal tudunk animációt készíteni.
Az .animate() 1. paraméterében felsoroljuk vesszővel elválasztva a CSS értékeket, (itt background, color, opacity) majd megadjuk neki, hogy mivé módosuljanak az egyes paraméterek az animáció végére. Itt az eredetihez képest a háttérszínt feketére, a szöveget fehérre, és az átlátszóságot 100%-ra állítjuk.
Az .animate() 2. paraméterben az animáció futási idejét adjuk meg.
lehet: "slow" -lassú , "normal" -normális, "fast"- gyors, vagy egy szám (erről még lesz szó.)
A .hover() 2. paraméterében visszaállítjuk, amit az elsőben elállítottunk (fehérre a hátteret, a szöveget feketére, és az átlátszóságot 50%-ra). Az .animate() függvényben a CSS értékeken kívül csak a futásidőt adtuk meg máshogy. Itt egy számot adtunk meg: Az érték 5000, amivel azt érjük el, hogy az animáció 5 másodpercen keresztül fog végbemenni.
Még pár érdekesség:
GeSHi (javascript):$(document).ready(function(){
// Ide jön a kód, amit az oldal betöltésekor hajt végre.
});
A fenti példa megfelel a body tag onload="" esemény kezelőjének. A komment helyére illesztett kód akkor fog lefutni, ha az oldal betöltött. Ezt a .ready() -vel értük el.
$(document).ready(
function(){
$("a").click(function(event){
alert("Amint látod ez alink nem vitt el a href -ben megadottakra");
event.preventDefault();
});
});
Ezzel a kóddal azt érjük el, hogy ha az oldal betöltött és rákattintottak egy linkre, akkor megjelenik egy alert() ablak, és ha "leokézzuk" akkor sem irányít át az oldal a link href paraméterében megadott helyre. Ezt az event.preventDefault(); sorral értük el. Az event a függvényünk paramétere, de nem kell neki értéket adnunk, mert amikor meghívódik (amikor rákattintunk a linkre), automatikusan kap majd értéket. A .preventDefault() résszel pedig visszaállítjuk a dolgokat a klikkelés előtti állapotra, akkorra, amikor még nem kattintottunk a linkre, ezért nem is fog átvinni minket a link a másik oldalra.
Az .addClass(), és a .removeClass() használata
Az .addClass(), és a .removeClass() használatával CSS osztályokat adhatunk hozzá, illetve távolíthatunk el a kiválasztott elemről. Használata igen egyszerű.
GeSHi (javascript):$("a:last").addClass("utso");
Ebben a kódban 2 új dolog van. Az első a :last rész, ezzel az "a" tagok (linkek) közül az utolsót választjuk ki. Majd az .addClass() -al hozzáadjuk az „utso” -nevű CSS osztályunkat (class-unkat). A .removeClass() ugyanígy működik, csak nem hozzáadja, hanem eltávolítja a megadott CSS osztályt a kiválasztott elemről.
Copyright © PHP Studio 2007-2010. Minden jog fenntartva!




● 




Összes cikk ● Írta: tbence
Zordon hozzászólása
Írta: 2010. Aug. 2. 12:59:00
Modjuk a jQuery ahogy észre vettem az animálásban jóbb, de ezt nem modnom biztosra mert prototype-ből sem vagyok géniusz!
tbence hozzászólása
Írta: 2010. May. 30. 09:03:28
saze17 hozzászólása
Írta: 2010. May. 29. 13:57:14
t.zoli hozzászólása
Írta: 2010. May. 23. 10:19:17
Jelent volna meg hamarabb mert akkor nem mind kérdeztem volna róla a ajax-os témában
:D
tbence hozzászólása
Írta: 2010. May. 22. 16:04:03
De örülök ha tetszik. :)
Oldalak: [1] 2
