"J." <test@neovoid.org> writes:
> Flg. funktion bruges til at vise og skjule et div-element (en drop-down
> menu):
>
> function showhide( menu, pic )
> {
> if( menu.style.display == "block" )
Her bruges menu som et DOM Node objekt.
> {
> menu.style.display = "none";
> pic.src = "<?=LEVELPATH; ?>images/icons/frontends/closed.png";
(Vi kan ikke bruge server-side kode til noget her, det er mere vigtigt
hvad der faktisk bliver sendt til browseren.)
> }
> else
> {
> menu.style.display = "block";
> pic.src = "<?=LEVELPATH; ?>images/icons/frontends/open.png";
> }
> }
>
> Første argument er id på div,
Bingo. Du sender en id (en streng) med, men bruger den som om den
var elementet selv.
Skift
if( menu.style.display == "block" )
ud med
if( document.getElementById(menu).style.display == "block" )
> det andet er det billede som indikerer
> "menuen's" tilstand. Scriptet virker til fuld tilfredshed i IE men
> (selvfølgelig) ikke i Mozilla 1.4. Dér gør det intet som helst.
Hvis det virker i IE, så er det ikke en id du sender med. Jeg gætter
på at du skriver
showhide(elemId, imgId);
eller sådan noget. Hvis det var id'en der blev sendt med, så ville det være
showhide("elemId","imgId");
> Har kigget lidt på Mozillas håndtering af DOM på mozilla.org, men synes ikke
> rigtig jeg kan finde noget der fortæller mig hvad jeg gør galt. Nogle
> forslag?
Du skriver, så vidt jeg kan gætte bare
elemId
og forventer at det referer til elementet. Det kan man ikke generelt,
selvom IE har valgt at lade det virke. Du skal i stedet skrive
document.getElementById("elemId")
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:
http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'