JavaScript. Virker ikke i IE

Tags:    html css

<< < 12 > >>
Jeg gik for ikke så lang tid siden i gang med at kode en ny side, men ikke bare en normal side som jeg pleger.
Nemlig en side meget baseret på JavaScripts!

Det gik også fint i et stykke tid, og rigtigt coolt ud. Men så virkede siden lige pludselig ikke i IE 7.
FF og Opera kommer også med en fejlmelding, når jg åbner siden, men den viser dog siden rigtigt.

Vis du åbner siden med FF eller Opera kan du se hvordan det er meningen at den skal se ud.

Jeg har lagt filerne til siden midletidigt ud på et webhotel, som kan findes her: http://mogsiden.2com.dk/homepages/mogsiden.2Com.dk//test/index.html

Jeg ved ikke lige hvad det point er for noget gejl, men jeg tror ikke jeg har nogen, så den der svare rigtig må leve med ikke at få nongen point. Håber at det er ok.
EDIT: Jeg fant lige ud af at jeg faktisk havde nogle point, men det kan jeg vel ikke sætte på nu?

-pp



Indlæg senest redigeret d. 23.02.2007 13:36 af Bruger #10113
document.getElementById('menulink'+ved).style.left=menulink;

Denne linie fejler, også i FF..

Jeg tror det er fordi du forsøger at tilgå et object der endnu ikke er læst i dom træet.

Altså skal koden afvikles på body's event onload.

/JJ



document.getElementById('menulink'+ved).style.left=menulink;

Denne linie fejler, også i FF..

Yerr! Jeg ved at den heller ikke virker i FF, men den vises som jeg vil have den til!


Jeg tror det er fordi du forsøger at tilgå et object der endnu ikke er læst i dom træet.

Hmm, jeg forstår ikke hvad du mener. Jeg har da giver "ved" en værdi længre oppe i dokumentet, brude den så ikke være indlæst?



Javascript læses på klienten, du nok vandt til noget server script, hvor du skal arbejde i toppen af dokumentet..

Men javascript afvikles som det læses af browseren.

Skriver jeg ex:

document.getElem...("mitDiv").style .... ;

og compileren endnu ikke er nået til

<div id="mitDiv">

Vil det fejle, som i dit tilfælde.

Det løses ofte ved først at afvikle koden (javascriptet) efter at <body> er indlæst, altså ex <body onload="DoMyShit()">

Når body er indlæst, altså alt markuppen er vist, køres herefter funktionen, som så kender alle elementerne da de er indlæst.

/JJ



shit sorry, det gør du jo allerede... 10 sec :)



Måske er jeg lidt dum, men jeg forstår det ikke helt. Jeg har alerede en onload i min body, nemlig den jeg bruger til at starte de forskelige funktioner!

Og vis min side ikke bliver indlæst fra toppen af, hvordan så?



Den fejl som jokke kommentere opstår vist nok fordi at du iterer k=7 men du har hun 5 links så den kan indlysende nok når ved=6 ikke finde et element med id menulink6



Den fejl som jokke kommentere opstår vist nok fordi at du iterer k=7 men du har hun 5 links så den kan indlysende nok når ved=6 ikke finde et element med id menulink6


Har jeg grojt, det virker ikke!



nej det er ikke fejlen..

Fejlen skyldes at du definere s inde i en funktion, og s kendes ikke i resten af funktionerne..

erstat også lige den anden fejl med :

if(document.getElementById('menulink'+ved))
{
document.getElementById('menulink'+ved).style.left=menulink;
}



prøv i toppen at skrive -> var s="forside"; <- og fjern den fra funktionen..



noget helt andet er at du løber meget hurtig træt i at lave det med den der fremgangsmåde.

Du kommer til at drukne i funktioner, hvis ikke du laver dem lidt mere hensigtsmæssigt.



<< < 12 > >>
t