A javascript kódokat nem csak a html oldalban lehet tárolni (megírni) a script tag-on belül, hanem külön álló javascript file-okban is (aminek a kiterjesztése .js). Ezeket a js file-okat lehet betölteni (include-lni) a html oldalba és ezek után a javascript kód ugyanúgy viselkedik, mintha a html oldalon belül írtuk volna a kódot. Nézünk egy konkrét példát:
document.write("Hello világ");
Ezt a kódot bemásoljuk egy fileba, amit elnevezünk pl. jsfile.js. Látható, hogy ebben az esteben nem kell köré írni a script tagot. Majd ezek után írjuk meg a következő elso.html file-t:
jquery
Fontos, hogy ebben a példában a html filenak es js filenak egyazon mappában kell lennie. Nem szükségszerű, hogy ugyanabban a mappában legyen a html file és a js file, ám ekkor a src-ban a relatív útvonalat kell megadni:
jquery
Most hozzunk létre egy olyan js filet, amiben egy objektumot definiálunk és miután betöltöttük ezt a js filet, az objektumot használhatjuk a html oldalon belül. Először írjuk meg a js filet és mentsük el pl. package.js néven:
var csomag = {
legyenNagyBetus : function(text){
document.write(text.toUpperCase()+"
");
},
osszeadas : function(a,b){
var osszeg = a+b;
document.write(osszeg+"
");
}
};
Majd a html fileban töltsük be ezt a package.js filet és a csomag változót simán használhatjuk:
jquery
Azaz egy külső csomag betöltése után a csomag függvényei behívhatóak a csomagnev.fuggvenynev utasítással. Persze ehhez ismernünk kell a csomagnevet, illetve a benne található függvényneveket (de hát erre van google).
A jQuery (jquery-3.1.1.min.js) letölthető innen (jobb klikk, mentés másként). Arra kell figyelni, hogy a jquery-3.1.1.min.js file ugyanabban a mappában legyen, ahol van a html fileunk. Ezek után a már betölthetjük a jQuery-t a html fileban:
jquery
Most ideje, hogy behívjunk egy jQuery függvényt. Ezt kétféleképpen tehetjük meg: jQuery.fuggvenynev vagy $.fuggvenynev. Ez első függvényünk legyen a ready parancs, ami ellenőrzni, hogy a html oldalunk teljesen betöltödött-e (azaz minden html elem létrejött) és csak ezek után hajtódnak végre a javascript parancsok:
jquery
Egyik végső célunk, hogy a html oldal elemeit kedvünk szerint alakíthassuk (létrehozunk, törlünk, módosítunk). De ehhez meg kell 'fogni' a megfelelő html elemet. A kiválasztás alapvetően háromféleképpen történhet: id vagy class vagy html név (pl. div) alapján.
jquery
Azaz általánosságban elmondható, hogy egy elem kiválasztása a $(elemdefiníció) paranccsal történik. Nem meglepő módon ez a parancs egy jQuery objektummal tér vissza, aminek különböző függvényei vannak, ezeket lehet behíni:
jquery
Elso div:
Az is látható, hogyha az elemet az id-ja alapján szeretnénk kiválasztani, akkor a # jelet használjuk, például $("#idnev"), míg ha az osztálynév (class) alapján, akkor pontot teszünk az osztálynév elé: $(".classname"). Nincs egyértelmű szabály, hogy aposztrófot vagy idézőjelet kell használni, a kettő ekvivalens, azaz a $("#idnev") és $('#idnev') ugyanaz a parancs.
Ahhoz, hogy 'élőben' is láthassuk a jQuery müködését, hozzuk létre az első eseményünket: a gombnyomást. Ehhez létre kell hoznunk egy html gombot és egy click esemény függvényt, ami lefut (végrehajtodik), ha megnyomjuk a gombot:
jquery
Akárhányszor megnyomjuk a gombot mindig végrehajtódik a #gomb-hoz rendelt click függvény:
jquery
Kezdeti szöveg.
A stílus határozza meg az egyes html elemeket kinézetét. Minden html elemnek van egy alap kinézette, ám ezek szinte tetszés szerint módosíthatóak. A stílus definíciókat a style tag-ok között adjuk meg a head-en belül, hasonlóan a javascript kódokhoz (csak ott script tag-ot használunk). Hasonlóan a jQuery elem kiválasztáshoz, a stílus definiíció esetén is ki kell választanunk, hogy mely html elemet szeretnénk módosítani. A #idnev használatával id alapján tudunk html elemet kiválasztani, míg .osztalynev alkalmas a class-ok általi kiválasztásra:
jquery
Id alapján történő kiválsztás.
Class alapján történő kiválsztás.
A jQuery alkalmas arra, hogy az egyes html elemek stílusát megváltoztassuk valamilyen esemény (mondjuk gombnyomás) hatására:
jquery
Id alapján történő kiválsztás.
Class alapján történő kiválsztás.
A jQuery-vel létre is hozhatunk új, eddig nem létező html elemeket, amiket hozzáadhatunk egy mást létező html elemhez:
jquery
Ehhez adjuk hozzá új div-et
Nemcsak létrehozhatunk új html elemet, hanem törölhetünk is már létező html elemet a remove parnccsal:
jquery
Külső div
Ezt a div-t töröljük id alapján.
Ezt a div-t töröljük class alapján.
Ezt a div-t töröljük class alapján.
A hexadecimális szín kódok pl. innen vehetőek.
Feladatunk legyen a következő oldal megírása:
Azaz a 'Div Hozzáadása' gomb megnyomása lértehoz egy új div-et az aktuális div-en belül, ami tartalmazz két gombot: a 'Div Hozzáadása' és 'P Hozzáadása'. A 'P Hozzáadása' gomb egy p-t hozz létre az aktuláis div-en belül. Persze a gombok akárhányszor, tetszőleges kombinációban megnyomhatóak. Elő példa:
jquery
Az előző példában használtuk a parent() függvényt, ami visszaadja az adott html elem szülő elemét. Hasonlóan használható a children() függvény(ami vissza adja az adott html elem gyermekeit), illetve a sibling() függvény (ami a testvér elemek adja vissza). Pl:
jquery
Az elso div
A masodik div
A harmaik div
A negyedik div
Az otodik div
A hatodik div
A hetedik div
A nyolcadik div
A kilencedik div
A tizedik div
A legalapvetőbb beviteli eszköz. Az új (HTML5) irányelvekben számos input mező fajtát definiáltak már:
jquery
Sima input mezők
Az input mező megváltozását a change() függvénnyel kezelhetjük le:
jquery
Input mező:
Rádió gombok alkalmasak egyszeres kiválasztásra több lehetőség közül. A változás lekezelése úgyszintén a change() függvénnyel történik:
jquery
Neme:
Férfi
Nő
Egyéb
Menü:
Sima
Vega
A jQuery-vel effektusokat is létre tudunk hozni, amik alkalmasak egész html részeket eltűntetni, visszahozni:
1. oldal
2. oldal
3. oldal
Első Panel!
Második Panel!
Harmadik Panel!
Szebb effekt hozható létre a slideUp() és slideDown() függvények segítségével:
1. oldal
2. oldal
3. oldal
Első Panel!
Második Panel!
Harmadik Panel!
A Legördülö menü alkalmas még az egyszeres kiálasztásra, a változást ismét a change() függvény adja vissza:
Válassz egy autot:
A checkbox-ok alkalmasak többszörös kiválasztásra:
Kedvenc sportom:
Football
Baseball
Boxing
Racing
Swimming
A szövegmező (textarea) alkalmas nagyobb mennyiségű szöveg bevitelére:
Szövegmező