window.onLoad előtt megváltoztatni egy elem stílusát
Szóval a probléma rövid: adott két DIV, amik alapesetben látszanak és egy ami nem látszik. Ha a kedves user bekapcsolt JS-sel jön az oldalra, akkor a két DIV-et elrejti, ami pedig nem látszódott azt megjeleníti egy függvény.
Az elrejtéssel az a problémám, hogy bevillan egy pillanatra a két DIV, mielőtt eltűnnének. Először a Weblabor-on használt addEvent függvénnyel hozzáadtam egy onload esetményt, ami szépen megcsinálta az eltüntetést. Ezzel a baj az, hogy bár kicsi az oldal amin mahinál látható a villanás, mert ugye csak onLoad után hajtja végre a feladatát.
Ekkor kerestem rá az onDOMload-ra és konstatáltam, hogy valójában ilyen függvény nem létezik (Egy Weblabor-os topicban egyértelmű utalás erre nem történt és már kezdtem hülyének érezni magam, hogy nem találok hivatalos doksit az eseménykezelőről). Leszedtem kipróbáltam és működött is FF és Opera alatt. Aztán jött az IE ami az előzőleg már leírt bevillanást produkálta. Bár néha FF és Opera is csinálta. Tehát ez onDOMload sem segít a problémán.
Alap feltevés az volt, hogy no gond, mert egy script fogja magát és beszúr egy olyan CSS-t amiben felül van bírálva a 3 DIV stílusa. Ezzel egy baj van, hogy a nem HEAD részben megadott STYLE elem nem valid megoldás.
Ekkor jött az ötlet, hogy DOM függvényeket használva majd beoperálok egy <link> elemet a HEAD-be. Ezzel a baj az, hogy szintén csak az oldal betöltése után illeszti be a CSS-t, ami még a legelső addEvent-es megoldásnál is rondább eredményt ad.
A megoldás végül az lett, hogy egy document.write-tal az alap CSS után beillesztek egy "felölbíráló" CSS-t. Ez műxik is szépen.
A kérdésem annyi lenne, hogy a document.write-os dolognál van-e szebb / jobb megoldás?
A működő oldal itt tekinthető meg.
■ Az elrejtéssel az a problémám, hogy bevillan egy pillanatra a két DIV, mielőtt eltűnnének. Először a Weblabor-on használt addEvent függvénnyel hozzáadtam egy onload esetményt, ami szépen megcsinálta az eltüntetést. Ezzel a baj az, hogy bár kicsi az oldal amin mahinál látható a villanás, mert ugye csak onLoad után hajtja végre a feladatát.
Ekkor kerestem rá az onDOMload-ra és konstatáltam, hogy valójában ilyen függvény nem létezik (Egy Weblabor-os topicban egyértelmű utalás erre nem történt és már kezdtem hülyének érezni magam, hogy nem találok hivatalos doksit az eseménykezelőről). Leszedtem kipróbáltam és működött is FF és Opera alatt. Aztán jött az IE ami az előzőleg már leírt bevillanást produkálta. Bár néha FF és Opera is csinálta. Tehát ez onDOMload sem segít a problémán.
Alap feltevés az volt, hogy no gond, mert egy script fogja magát és beszúr egy olyan CSS-t amiben felül van bírálva a 3 DIV stílusa. Ezzel egy baj van, hogy a nem HEAD részben megadott STYLE elem nem valid megoldás.
Ekkor jött az ötlet, hogy DOM függvényeket használva majd beoperálok egy <link> elemet a HEAD-be. Ezzel a baj az, hogy szintén csak az oldal betöltése után illeszti be a CSS-t, ami még a legelső addEvent-es megoldásnál is rondább eredményt ad.
A megoldás végül az lett, hogy egy document.write-tal az alap CSS után beillesztek egy "felölbíráló" CSS-t. Ez műxik is szépen.
A kérdésem annyi lenne, hogy a document.write-os dolognál van-e szebb / jobb megoldás?
A működő oldal itt tekinthető meg.
noscript
Nem valid
Akkor rakd az elrejtendőket noscriptbe
Na igen
Azt nem mondtad, hogy elő is kell hozni
Ott a működő oldal
ondomload → DOMContentLoaded
Kiegészítés:
Én ezeket nézném meg: