Avatar billede rthuls Nybegynder
28. oktober 2003 - 21:42 Der er 7 kommentarer og
1 løsning

sæt højde på div

Jeg har følgende script som jeg bruger til at sætte højden på et div-tag med id-navnet 'swf'. Scriptet virker desværre kun i IE og jeg vil gerne ha' det til at være så cross browser kompatibelt som muligt. Kan det forbedres?

<script language="JavaScript" type="text/javascript">
<!--
function newHeight(y) {
    if(document.all && !document.getElementById) {
        document.all['swf'].style.pixelHeight = y;
    }else{
        document.getElementById('swf').style.height = y;
    }
}
//-->
</script>
Avatar billede Slettet bruger
28. oktober 2003 - 21:44 #1
Så vidt jeg kan se, burde ovenstående også virke i NS6+ og de nyere versioner af Opera.
Avatar billede roenving Novice
28. oktober 2003 - 21:48 #2
-- og i stort set alle browsere fra efter 1998 ?-)
Avatar billede rthuls Nybegynder
28. oktober 2003 - 22:13 #3
Prøv med eksemplet her:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script language="JavaScript" type="text/javascript">
<!--
function newHeight(y) {
    if(document.all && !document.getElementById) {
        document.all['swf'].style.pixelHeight = y;
    }else{
        document.getElementById('swf').style.height = y;
    }
}
//-->
</script>
</head>

<body onLoad="java script:newHeight(100);">
<div id="swf" style="border:1px solid #000;"></div>
</body>
</html>

Det er kun IE og Opera der viser det ordenligt. Netscape, Mozilla og firebird opfatter ikke at højden bliver ændret...
Avatar billede roenving Novice
28. oktober 2003 - 22:29 #4
Du havde lige misset en væsentlighed i css:

Der skal _altid_ være målestok på !-)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script language="JavaScript" type="text/javascript">
<!--
function newHeight(y) {
    if(document.all && !document.getElementById) {
        document.all['swf'].style.pixelHeight = y;
    }else{
    alert(document.getElementById('swf').style)
        document.getElementById('swf').style.height = y +'px';
    }
}
//-->
</script>
</head>

<body onLoad="java script:newHeight(100);">
<div id="swf" style="border:1px solid #000;"></div>
</body>
</html>
Avatar billede rthuls Nybegynder
28. oktober 2003 - 22:35 #5
Det ser ud til at du har ret! Men burde det så ikke også hedde?:
document.all['swf'].style.pixelHeight = y+'px';
Avatar billede roenving Novice
28. oktober 2003 - 22:43 #6
Du har principielt ret ,-)

-- men som du har konstateret er IE og Opera ligeglade ...

-- og det er kun dem som forstår .all !-)

-- men ellers velbekomme '-)
Avatar billede rthuls Nybegynder
28. oktober 2003 - 23:04 #7
Tak for forklaringen og svaret :-)
Avatar billede roenving Novice
28. oktober 2003 - 23:06 #8
-- og jeg takker for points ;~}
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