Avatar billede mik789 Nybegynder
16. marts 2004 - 12:24 Der er 5 kommentarer og
1 løsning

sæt style.top i Internet Explorer

Jeg har lavet en lille artikel om tabel-lignende design uden tabeller her: http://e-tidsskrift.dk/dev/non_table_design.html

Den består af en række absolut positionerede divs og for ikke at skulle låse deres højde fast har jeg lavet dette script der i stedet automatisk tildeler boksene en style.top værdi.

Det fungerer perfekt i Gecko browserne. Ingen fejl i javascript konsollen. Men Internet Explorer klager: "Argumentet er ugyldigt".

Scriptet ser sådan ud:

function setElmsTop() {
  var divsT = ["txtBox1","txtBox2","tabel1","txtBox3", ...];
  for(i=1;i<divsT.length;i++){
    var elm = document.getElementById(divsT[i]);
    var prevElm = document.getElementById(divsT[i-1]);
    elm.style.top = prevElm.offsetTop+prevElm.offsetHeight+16 + 'px;';
  }
}

- og den kaldes med <body onload="setElmsTop();">

Hvad kan problemet være?

//mik
Avatar billede mik789 Nybegynder
16. marts 2004 - 12:25 #1
og problemet er selvfølgelig ikke så meget at IE klager men at det ikke fungerer...
Avatar billede nute Nybegynder
16. marts 2004 - 12:46 #2
fjern ; efter 'px' angivelsen i linje 160 og i linje 171
160: document.getElementById(divsH[i]).style.height = maxH + 'px';

171: elm.style.top = prevElm.offsetTop+prevElm.offsetHeight+16 + 'px';

/nute
Avatar billede mik789 Nybegynder
16. marts 2004 - 12:52 #3
nute, du er en knag!

men hvorfor brokker IE sig over det?
og læg lige et svar...
Avatar billede nute Nybegynder
16. marts 2004 - 12:59 #4
måske fordi det er forkert at skrive '100px;' ?? ;o] Dette er en notation der bruges i stylesheets og semikolon bruges for at skille een style fra en anden. i Javascript angives enhederne separat via properties, og et semikolon har intet der at gøre ... måske ...

/nute
Avatar billede mik789 Nybegynder
16. marts 2004 - 13:01 #5
ok, du har nok ret, det er bare underligt at Gecko browserne ikke brokkede sig - de plejer jo at holde strengere på det korrekte en IE. Og du har ret, det var fordi jeg tænkte i stylesheet syntaks ;-)
Avatar billede nute Nybegynder
16. marts 2004 - 13:08 #6
jeg synes også det er lidt underlig at IE i dette tilfælde "pludselig" overholder standarden. men ... mit bud er også kun et bud ... jeg "aner ikke hvad jeg taler om", for jeg har ikke undersøgt fenomenet :o]

/nute
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester