Javascript pred body
4 naročniki
4 naročniki
Želim, da se Javascript funkcija naloži pred <body>. Nikakor mi ne uspe! Javascript se še komaj učim tako, da res nimam ideje. Želim checkCookie(); da se naloži za stil.css in nato komaj vso besedilo na spletni strani. Cookie spremeni border <div>, ampak trenutno se mi naloži takole: 1. CSS, 2. Besedilo, 3. Border se spremeni
Ne mislim spremenijat kodo, ki bo spreminjala border, ampak hočem samo, da se checkCookie(); naloži pred besedilom!
Torej: 1. CSS, 2. Border se spremeni, 3. Besedilo
Probal sem že vse mogoče. Hvala za pomoč!
6 odgovorov
Probal sem že dat <body onLoad="checkCookie()">, <head onLoad="checkCookie()">, javascript kodo, ki sem jo našel na internetu. Nič ni pomagalo.
Kaj res sploh ne gre javascripta zagnati preden se stran naloži? Tako preprosto stvar iščem, ampak že tri ure googlam in nič ne najdem!
Vem, da bi to šlo z php-jem komot naredit, ampak poiskušam usposobit to s javascriptom, ker se ga učim.
Torej tukaj je spletna stran na kateri preiskušam.
Trenutno na Ubuntuju mi spletno stran zelo hitro naloži na Firefox-u, tako da skoraj ni opazno da se besedilo prej naloži od borderja. Ampak v Google Chromu pa je razlika zelo očitna. Želim, da se najprej naloži border potem pa besedilo.
S javascriptom sem poskušal doseči, da ustvarim cookie, v katerem se shranijo podatki. Torej imam 3 nastavitve kako bo izgledal border (barve - levo spodaj) in te se s klikom na njih shrani podatek v cookie. Vsakič ko se spletna stran naloži preveri cookie in določi pravi border. Border NI določen v CSS-u, ker bi drugače se najprej pojavil osnovni border, potem pa se zamenjal za drugega in to mi ni všeč, da se vidi da se spremeni border iz enega v drugega.
Torej ko se spletna stran hitro naloži ni nič opazno, ampak v obratnem primeru pa se naloži besedilo in kasneje border in to zgleda obupno. Če bi bilo ravno obratno bi izgledalo boljše.
Ampak pomembno je, da izvem kako se naj naloži JavaScript funkcija pred ostalim! To je predvsem moj cilj, ne samo, da se prikaže border pred besedilom. Želim se to naučiti to v javascriptu, saj s php-jem to znam popravit!
Hvala.
Če ne drugo, daj na element css
display: hidden
ali še bolje:
visibility: none (ker ohrani layout strani, samo pač nevidna je zadeva)
Javascript nad elementom se mora zgoditi, ko je element že naložen.
Z uporabo jQuery javascript knjižnice, bi se to naredilo tako (če te prav razumem kaj hočeš naredit):
$(document).ready(function () {
// najprej poženeš checkCookie() da ugotoviš stil borderja in ga nato ustrezno nastaviš z naslednjim ukazom (ta spremeni border vsem div, če hočeš samo enemu kodo ustrezno popraviš npr. $("div.ID1")...)
$("div").css("border","1px solid black");
});