/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Vis/skjul funktion, fungerer i IE men ikke~
Fra : J.


Dato : 22-07-03 13:38

Flg. funktion bruges til at vise og skjule et div-element (en drop-down
menu):

function showhide( menu, pic )
{
if( menu.style.display == "block" )
{
menu.style.display = "none";
pic.src = "<?=LEVELPATH; ?>images/icons/frontends/closed.png";
}
else
{
menu.style.display = "block";
pic.src = "<?=LEVELPATH; ?>images/icons/frontends/open.png";
}
}

Første argument er id på div, 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.

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?

Nogle der i øvrigt ved hvor der er en klar og overskuelig oversigt over
forskelle på de forskellige browseres håndtering af clientside-scripts?

MVH

J.



 
 
Lasse Reichstein Nie~ (22-07-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 22-07-03 15:12

"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.'

J. (22-07-2003)
Kommentar
Fra : J.


Dato : 22-07-03 15:19

Ah, ja, nu fungerer det. Mange tak for hjælpen.

Det værste var at jeg havde luret lidt på om det havde noget med
getElementById at gøre, men var i naivitet gået ud fra at IE ikke ville
tillade den slags at gå forbi. At der var kommet server-side kode med i
eksemplet var en ren og skær svipser.

Hvis der er noget svar på mit andet spørgsmål - om der eksisterer en side
som på en overskuelig måde redegør for forskellene i browsernes opfattelse
af javascript og DOM - så er jeg stadig meget nysgerrig.

MVH

- J.



Lasse Reichstein Nie~ (22-07-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 22-07-03 17:14

"J." <test@neovoid.org> writes:

> Ah, ja, nu fungerer det. Mange tak for hjælpen.
>
> Det værste var at jeg havde luret lidt på om det havde noget med
> getElementById at gøre, men var i naivitet gået ud fra at IE ikke ville
> tillade den slags at gå forbi. At der var kommet server-side kode med i
> eksemplet var en ren og skær svipser.
>
> Hvis der er noget svar på mit andet spørgsmål - om der eksisterer en side
> som på en overskuelig måde redegør for forskellene i browsernes opfattelse
> af javascript og DOM - så er jeg stadig meget nysgerrig.


Jeg kender ikke lige en side der sammenligner alle browsere. Her er nogle
links der måske kan give dele af svaret:
<URL:http://www.gerbilbox.org/newzilla/webdesign/index.php>

/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.'

J. (22-07-2003)
Kommentar
Fra : J.


Dato : 22-07-03 17:52


"Lasse Reichstein Nielsen" <lrn@hotpop.com> wrote in message
news:7k6av8s0.fsf@hotpop.com...

> Jeg kender ikke lige en side der sammenligner alle browsere. Her er nogle
> links der måske kan give dele af svaret:
> <URL:http://www.gerbilbox.org/newzilla/webdesign/index.php>

Det var et godt udgangspunkt, tak for det. Du har været til stor hjælp for
en Javascript-idiot som mig.

- J.



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste