dve java skripte u jednu?

gorki2

Zainteresovan član
Poruka
305
Imam dve java skripte koje odvojeno sasvim lepo rade. Jedna je za meni a druga je za sadrzaj strane.
Kad ih postavim na istu stranu jedna obavezno ne radi. Sad dali ima neki metod kako se one postavljaju? Stavio sam jednu ispod druge i kako god ih okrenuo uvek ova druga radi. Je li moguce nekako ih doterati odnosno sta treba uraditi?
 
Pa sa CSS sam napravio leftContainer za meni i contentContainer za sadrzaj. Skripte pozivam kao external fajl.
Sad kad u <body> dodam <div id="leftContainer><script language="JavaScript" src="dodaci/meni.js" type="text/JavaScript"></script> radi samo druga skripta u zavisnosti dali u telo strane prvo stavim meni ili sadrzaj strane.
 
Mislim da sam nasao u cemu j problem ali neznam da ga resim!

Obe skripte imaju na kraju: window.onload = tamonesto; i izgleda da jedan drugog iskljucuju jer kad obrisem taj red iz druge, ova prva radi? Kako bi se to moglo resiti?
 
Probao sam ja da ih spojim i radi ali je velika i ne bih da smaram. Zavrsavaju se ovako:
prva:
window.onload = initLeftMenu;
druga:
window.onload = initShowHideDivs;

Imali nacin da bude nesto kao:

window.onload = initLeftMenu;+ initShowHideDivs;
ili nesto slicno da se obe funkcije ucitaju to me muci? :)
 
Gorki, nesto si tu zamrsio gadno.
jedini nacin da sa sigurnoscu kazemo gde je problem, je da stavis skripte ovde.

Pitanje je da li je logika te dve skripte da se kombinuju, tojest aktiviraju jedna odmah za drugom, ili zelis da ih na odredjen nacin aktiviras jednu po jednu pod odredjenim uslovima?
Nije mi jasno kada i kako skripte zelis aktivirati.

Ako vec imas:
Kod:
 window.onload = initLeftMenu;
druga:
window.onload = initShowHideDivs;
onda ce window.onload uraditi jednu ILI drugu operaciju. window.onload ima samo jedan momenat kad se to desi - kao sto ime kaze - onload...
ne mozes imati dva puta window.onload i ocekivati da ce OBE akcije da se dese pri ucitavanju window...
 
@gorki2
Najjednostavnije rešenje je da napraviš novu metodu koju ćeš pozvati u okviru windows.onload. U okviru te metode pozoveš prvo jednu, a potom drugu metodu koje se pojedinačno prozivaju u winodws.onload. Ovo bi trebalo da radi, ali da bi bili sigurni pošalji oba skripta kao što reče @codemaker.

Na primer

Kod:
function myInit{
initLeftMenu;
initShowHideDivs;
}

window.onload=myInit


 
Ok evo skripte prikacene samo preimenovane u txt fajl.

Prva je meni a druga prikazuje show/hide sadrzaj strane i ja bih hteo da meni naravno radi a kad korisnik klikne gde treba otvori mu se sadrzaj na samoj strani. Jos bih hteo da obe budu externi fajlovi, mada sam ih za asd stavio jednu ispod druge u <head> i radi ona koja je u window.onload a druga nece.
 

Prilozi

  • meni.txt
    7,8 KB · Pregleda: 6
  • cont.txt
    3,1 KB · Pregleda: 5
Problem je sto kod ucitavanja strane kroz browser, poziv
window.onload
moze da se desi samo jednom. Kada onload zavrsi, ne mozes pozvati ponovo "window.onload"
ti imas u svakom falu po jedan pozib "window.onload"
Logicno je da ce samo jedan odraditi posao, onaj kojeg prvo navedes
ako navedes prvo "meni.txt" izvrsice se "window.onload = initLeftMenu; - i kraj loadovanja...
ako navedes prvo "cont.txt" izvrsice se "window.onload = initShowHideDivs; - i kraj loadovanja...

Dakle napravi jednu funkciju (Bojan ti je vec predlozio), koju ces pozvati iz
window.onload = nekaZbirnaFunkcija()
a unutar te funkcije pozovi
initLeftMenu()
initShowHideDivs()
 
E probao sam i radi!!!! Hvala

function ucitajScripte()
{
initLeftMenu();
initShowHideDivs();
}
window.onload = ucitajScripte;

Sad jos samo kako da budu externi fajlovi? Dali da brisem win.onload iz tih fajlova? jer ne radi mi kad su skripte externe
 

Back
Top