Új metódusok ebben a leckében:
createElement(egy HTML címkenév) – a documentum osztálynak ez a metódusa arra használható, hogy új HTML elemet adjunk a dokumentumhoz a JavaScript kódból. Akárcsak az addEventListener, ez a függvény is lehetőséget kínál az oldal betöltése utáni újabb funkciók bevezetésére.
setAttribute(az attribútum neve, érték) – ez a metódus megtalálható minden HTML elem objektumban. Minden elem az oldalról a JavaScript kódban objektumklnt jelenik meg. Beállíthatjuk egy tulajdonság értékét ezzel a metódussal. Előzőleg már használtunk HTML attribútumokat, azok a tuladonságok, amelyeket a címkéken belül értelmezünk.
appendChild(egy előzőleg létrehozott elem) – akárcsak a setAttribute metódus, ez is minden HTML elemnek megfelelő objektumban megtalálható. Arra használjuk, hogy egy elemet adjunk egy másik elemhez (annak belsejében). Az elem, amit paraméterként megadunk az, amit hozzá kell adni ahhoz az elemhez, amelynek a metódusát használjuk.
removechild(hivatkozás egy elemre) – ez a metódus, akárcsak az appendChild minden elem objektummal használható. A paraméterként megadott elemet eltávolítjuk annak az objektumnak a belsejéből, amelynek a metódusát használjuk.
A JavaScript kódok külső fájlokban:
A JavaScript kódok külön fájlokban való tárolása hasznos, mivel egy JS fájlra különböző HTML fájlokból hivatkozhatunk és egy HTML dokumentum is több ilyen külső fájlra hivatkozhat.
A programkód és a HTML kód elválasztása segít a kódok olvashatóságában is.
A JS fájlokra való hivatkozás módja: <script src="file name"> </script>
Hogyan illesszünk be idézőjelet egy JavaScript karakterláncba:
Ha idézőjelet akarnánk használni karakterláncokban, problémák merülhetnek fel, mivel konkrét szövegek alapból idézőjelbe kerülnek. Váltogathatjuk a két típusú idézőjelet, de szükségünk lehet a \ jelre azon idézőjelek megjelölésére, amelyek ténylegesen meg akarunk jeleníteni a weboldalon.
Példa idézőjelek megjelenítésére:
Ebben a példában, a színes szakaszra kattintva egy gomb jelenik meg. A gomb HTML kódját egy függvényben rakjuk össze.
A megjelenésre szánt idézőjelekhez adtuk a \ jelet, a többi idézőjel, karakterláncok elejét és végét jelölik.
Az eredményt a böngészőben megnyithatjuk és a ténylegesen megjelenő tartalom kódját is ellenőrizhetjük (jobb klikk/Inspect Element) Csak a megjelölt idézőjelek jelennek meg.
A for ismétlő struktúra:
Ha utasításokat akarunk többször végrehajtani, ismétlő struktúrákra van szükségünk.
A for struktúrát főként akkor használjuk, ha az ismétlések száma előre ismert, de átalakíthatóak bármilyen alkalomra.
A for struktúra általunk használt formája:
for (i=1; i<=nr; i++) {
utasítások;
}
Az ismétlés elkezdésekor, az index változó (itt i, de más neve is lehet) kezdeti értéket kap (az is lehet 1-től különböző). Ezután ismétli az utasításokat és minden ismétlés után ellenőrzi a feltételt, igaz értékre folytatja az ismétlést és növeli az index értékét (a megadott formában eggyel, de ez is módosítható).
Ha a feltétel hamis lesz az ismétlés leáll.
Példa a for struktúra használatára:
Ebben a példában két for struktúrát is találhatunk tanulmányozás végett. A CSS beállítások nem láthatóak a képen, hogy a lényegre tudjunk figyelni.
Az első ismétlés tízszer ismétel: az i változó értékét a weboldal első szakaszának tartalmához adja. Az i változó értékei sorrendben: 1 2 3 4 5 6 7 8 9 10.
A szakasz tartalmát kiürítjük, mivel több kattintás hatására megtelik a szakasz számokkal.
A második ismétlés az elsőhöz hasonló, de megmutatja, hogy a HTML kódot kiegészíthetjük JavaScript kódból: tíz gombot adunk egy függvényből az oldalhoz és még egy-egy üzenetablakot is értelmezünk, amelyek ezekre a gombokra kattintva jelennek meg.
Megtekinthetjük az eredményt miután a böngésző kiértékeli a JavaScript kódot és megjeleníti az oldalt, a kódot a böngészőből felfedve.
A while struktúra:
Egy újabb ismétlési forma a while struktúra.
A for struktúrához képest, a while-hoz egyetlen feltételt kell hozzáadni, amely alapján eldönti, hogy meddig ismételje a megadott utasításokat.
A while struktúra formája:
while (feltétel) {
utasítások;
}
Ha a feltétel igaz ismétlünk, és ha hamisnak találjuk leállunk az ismétléssel.
Példa a while struktúra használatára:
Ebben a példában az első ismétlés ugyanazzal az eredménnyel jár, mint az első for struktúránk. Az i változónak a kezdőértéket és a változó növelését a struktúrától függetlenül adjuk meg.
A kezdő értékadás az ismétlés előtt történik, az érték növelését ismételjük.
A második ismétlés tíz véletlen számot add az oldal második szakaszához. A zöld téglalapra való minden kattintás, újabb tíz értéket eredményez 1 és 101 között.
Példa új szakaszok beillesztésére/eltávolítására JS kódból:
Ebben a példában láthatjuk, hogyan adhatunk hozzá/távolíthatunk el helyesen új elemeket egy dokumentumhoz.
Az előző példában csak egyszerűen beírtuk az elemeket (gombokat) egy másik létező elembe. Az innerHTML-be szövegként való hozzáadás működik, de megzavarhatja/leállíthatja a már működő eseményfigyelőket és lehetetlenné teszi az elemek elegáns eltávolítását vagy hozzáadását.
A randcolor függvényt használjuk a 24. leckéből.
A newdiv függvény az első gomb lenyomására aktiválódik és a d váltózóba kerül a rá vonatkozó referencia. Adunk egy értéket azonosítóként az id tulajdonságnak, hogy a szakaszt később azonosító alapján megtalálja a deldiv függvény. Az azonosítók egyediek, mivel egy folyamatosan növekvő számértéket is csatolunk hozzájuk.
Az appenChild metódussal az új szakaszt hozzáadjuk a dokumentumhoz, majd egy véletlen színt állítunk be háttérszínként, hogy jobban látszódjon, hogy melyik az új szakasz, illetve melyik törlődik.
A deldiv függvény eltávolítja az utolsó szakaszt a dokumentumból. Bármelyiket eltávolíthatnánk, de első példának ez elég. Az eltűntetésre a removeChild metódust használjuk.
Hozzon létre egy új fájlt a névszkriptrel .js a weboldal mappájában.
Másolja a függvényeket ehhez a fájlhoz.
Adjon meg egy hivatkozást a fájlhoz a fejlécrészben.
El kell távolítania a stíluscímkéket a a HTML dokumentumot, és mozgassa a CSS-t a style.css fájlba.
Adjon hozzá egy új szakaszt (ul) a galéria3 nevű azonosítóval, és a tiszta-js-lightbox-konténer nevű osztályt.
Ebben a részben be kell illesztenie a rendezetlen listaelemeket, amelyeknek tartalmaznia kell a horgonycímkéket, amelyek összekapcsolják a képet a galéria mappában. Ezenkívül ezeken belül van szükségük img címkékre, amelyek ugyanarra a képre kapcsolódnak, mint a horgonycímke. A rendezetlen listaelemeket a for loop segítségével kell elvégeznie.
A fejrészben adjon meg egy hivatkozást a tiszta-js-lightbox.min.css stílusfájlhoz a lightbox mappában, és hivatkozás a JS fájlra, még mindig a lightbox mappából.
A hurok után hozzon létre egy új ligthbox objektumot: var lightbox = new pureJSLightBox();
tervezze meg a galéria képeit az alábbiak szerint: 4 kép egy sorban, köztük néhány távolság, mint az első galéria. 700 képponton és a képernyő szélességénél is állítsa be a képeket 2 sorban.
Hozzon létre egy negyedik részt az oldalon: használja a <fieldset> címkeaz id szakaszban, hogy meghatározza a rész jelenlétét, és a legenda a szorzás legyen.
Adjon hozzá egy tartománytípus elemet annak meghatározásához, hogy hány kérdést kell feltenni. A számnak 1 és 5 között kell lennie. Ezután adjon hozzá egy azonosítót, és ha a tartomány bemenet megváltozik, akkor módosítania kell a div-ben lévő szöveget, hogy megjelenítse a tartománybevitel aktuális értékét, mint a következő példa: Szám kérdések száma: 1. A szám a jelenlegi tartomány aktuális értéke.
Egy gomb hozzáadása, amelyre kattintva megjelenik a kérdés. Adjon hozzá egy függvényt, amely reagál a kattintási eseményre, adja meg a létrehozott nevet.
Adjon hozzá egy űrlapot az azonosító űrlapjával4. Adjon hozzá egy benyújtási gombot, és adja meg az eredmény függvényt, hogy értékelje a válaszokat, ha az űrlapot benyújtja. Az elemek hozzáadódnak ehhez az űrlaphoz.
A létrehozási funkciónak létre kell hoznia a tartományelem által megjelenített szövegdobozok számát. Minden elemnek két véletlen számjegyet kell tartalmaznia * helyjelzővel. Minden szövegmezőt ki kell tölteni és hozzá kell adni a formához. (tömbök használata).
this.innerHTML = "<p onclick=\'fct()\’ > abc\’"+"</p>";
for (i=2;i<10;i++) { ... }
i=10;
while (i>5) {
this.innerHTML+=i+" ";
}
var pic = document.createElement ("img");
function fill(x){
x.innerHTML="<p id='p1'></p>";
document.getElementById("p1").innerHTML="Apple";
}
https://www.w3schools.com/js/js_loop_for.asp;
https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_img_create;
https://www.cssscript.com/easy-gallery-lightbox-pure-javascript-purejslightbox/;
https://www.w3schools.com/jsref/met_document_createelement.asp.





