Avatar billede danand Nybegynder
31. august 2002 - 20:03 Der er 4 kommentarer og
1 løsning

Dynamisk ændring af bredde af element i IE

Hej Eksperter, jeg har følgende script som i forhold til websidens bredde skal ændre bredden af et element på min side, dog må elementet ikke blive smallere end 300px.
- Det virker (sjovt nok) i mozilla 1.0 -browseren, men ikke i Internet Explore derfor beder jeg om hjælp til at rette fejlene så det virker i IE.

<html>
<body onload=resizea()>

<div id="ditDiv" style="position:absolute; left:150; width:200; background-color:00ff00">
gsgsgs
</div>

<SCRIPT LANGUAGE="JavaScript">
<!--

if (document.getElementById){
ditDiv = document.getElementById("ditDiv").style
}

if(document.all){
ditDiv = document.all.ditDiv.style
}

function resizea(){

if (document.getElementById){
  ditDiv.width = Math.max(300,window.innerWidth - 170);
}

if(document.all){
  ditDiv.width = Math.max(300,document.body.offsetWidth - 170);
}
}

//-->
</SCRIPT>

<script>
    resizea();
    window.onresize = resizea;
    window.onresize = new Function("resizea()")
</script>

</body>
</html>
Avatar billede mikoalngelo Nybegynder
31. august 2002 - 20:51 #1
Jeg tror det har noget at gøre med at du har en div med samme navn som en variabel. Prøv at ændre variablens navn til noget andet.
Avatar billede mikoalngelo Nybegynder
31. august 2002 - 20:52 #2
For IE kan nemlig også gå ind til en div mere "direkte" ved at sige divensId.egenskab i stedet for document.getElementById("divensId").egenskab
Avatar billede danand Nybegynder
01. september 2002 - 11:57 #3
Desværre - har prøvet at ændre navnet på variablen, men det hjalp ikke. Kan du ikke prøve at skrive det ind i mit script, for jeg kan ikke få det til at virke og måske har jeg gjort forkert.
Avatar billede Slettet bruger
01. september 2002 - 14:53 #4
Scriptet vil formentlig virke i IE4, men du har glemt at tage højde for, at IE5+ også kender document.getElementById.
Derfor bør du skrive det hele om til dette:

<script>
function resizea() {
if (document.all)
document.all.ditDiv.style.width = Math.max(300, document.body.offsetWidth - 170);
else if (document.getElementById)
document.getElementById("ditDiv").style.width = Math.max(300, window.innerWidth - 170);
}

resizea();
window.onresize = resizea;
</script>
Avatar billede danand Nybegynder
01. september 2002 - 16:08 #5
det virker - fantastisk
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