Avatar billede knudmuhko Nybegynder
10. december 2009 - 22:10 Der er 1 kommentar

fejl i style.width, i IE, ikke FF

Jeg har lavet en lille simpelt JavaScript funktion der resizer en box på forskellige tidspunkter.
Det mærkelige er bare at funktionen virker helt perfekt i FireFox, men laver en fejl i Internet Explorer! Dette er jo ikke helt optimalt da der jo er rigtig mange der bruger den browser...
Så tænkte om der ikke var nogen der kendte årsagen hertil.

Koden er som følger:
01: function resize() {
02:  var availW = window.innerWidth;
03:
04:  var sieFrame = document.getElementById("changer");
05:  var lefttext = document.getElementById("lefttext");
06:
07:  var availWForFrame = availW - (lefttext.offsetWidth + 14);
08:  var origW = sieFrame.offsetWidth;
09:  if (origW != availWForFrame){
10:  sieFrame.style.width = availWForFrame +"px";
11:  }
12: }

Det er så i linje 10 at IE siger:

Message: Invalid argument.
Line: 10
Char: 3
Code: 0

Eller hvis der er nogle der kender en bedre måde at gribe problemet an på er jeg åben:)
Avatar billede cambiare Nybegynder
10. december 2009 - 23:36 #1
Disse ting hvor man hiver forskellige informationer ud af browseren virker på helt helt forskellige måder i de forskellige browser, præcis ligesom html'en og css'en opfører sig anderledes fra browser til browser.. Mit råd ville være til dig at hente et framework såsom jQuery da dens måde at hente dataen ud er meget mere simpelt (plus du vil elske det framework når du først lærer det at kende)

Derudover kan du også sætte din størrelse på dine forskellige objekter med det...

Hvis ikke du har lyst til at bruge jquery fandt jeg en lille snippet her:
var A;
if(self.innerWidth!=undefined)A= [self.innerWidth,self.innerHeight];
else{
var D= document.documentElement;
if(D) A= [D.clientWidth,D.clientHeight];
}
alert(A);

Jeg skal dog ikke love dig at det fungerer fuldt ud i alle browsere, det ville jeg nok igen foreslå jQuery.com .. Men prøv det ud ;)
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