Avatar billede jonbdk Nybegynder
06. januar 2005 - 23:52 Der er 5 kommentarer og
1 løsning

javascript menu problem

Hejsa JEg har et rimeligt simpelt script, men kan ikke finde fejlen. Det fungerer fint. I Firefox får jeg ingen fejl. I IE får jeg en scriptfejl (vist som den gule advarselstrekant nederst i venstre hjørne)
Mit script ser således ud:
<script language="javascript">
<!--
function showhide(what){
if (what.style.display=='none'){
what.style.display='';

}
else{
what.style.display='none'

}
}
-->
</script>

NEdenunder har jeg menuen i HTML med først et overpunkt:
<span id="menu0" onClick="showhide(menu0outline)" style="cursor:hand; font-Family:Verdana; text-decoration:underline; font-weight:normal; font-size:0.9em"><font style="text-decoration:none"><nobr>Menupunkt1</nobr></span><br>
og dernæst en række underpunkter:
<span id="menu0outline" style="display:none">
&nbsp;<a href=" index.php">Menupunk1_1</a><br>
&nbsp;<a target="_blank" href=" http://lhc.com&mo=0">Menupunk1_2</a><br>
&nbsp;<a href=" index.php?side=getp">Menupunk1_3</a><br>
</span>
Kigger jeg på fejlen i IE står der: Error: 'style' is null or not an object
Er der nogen der kan hjælpe mig med at finde fejlen?
Avatar billede Slettet bruger
07. januar 2005 - 00:06 #1
onClick="showhide(menu0outline)" skal vel være onClick="showhide('menu0outline')"

Ellers prøver IE vel at parse den som en int
Avatar billede Slettet bruger
07. januar 2005 - 00:19 #2
Jeg har tilladt mig at rydde lidt op:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
<script type="text/javascript">
<!--


function showhide(what) {

if (document.getElementById(what).style.display=='none') {
document.getElementById(what).style.display='block';
} else {
document.getElementById(what).style.display='none';
}

}
-->
</script>
</head>

<body>
<span id="menu0" onClick="showhide('menu0outline')" style="cursor:hand; font-Family:Verdana; text-decoration:underline; font-weight:normal; font-size:0.9em">
<div style="text-decoration:none">Menupunkt1</div>
<span id="menu0outline" style="display:none">
&nbsp;<a href=" index.php">Menupunk1_1</a><br>
&nbsp;<a target="_blank" href=" http://lhc.com&mo=0">Menupunk1_2</a><br>
&nbsp;<a href=" index.php?side=getp">Menupunk1_3</a><br>
</span>
</span>


</body>
</html>
Avatar billede Slettet bruger
07. januar 2005 - 00:20 #3
Ups, det duer naturligvis ikke at neste divs inde i spans
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
<script type="text/javascript">
<!--
function showhide(what) {

if (document.getElementById(what).style.display=='none') {
document.getElementById(what).style.display='block';
} else {
document.getElementById(what).style.display='none';
}

}
-->
</script>
</head>

<body>
<div id="menu0" onClick="showhide('menu0outline')" style="cursor:hand; font-Family:Verdana; font-weight:normal; font-size:0.9em">
<div style="text-decoration:none">Menupunkt1</div>
<span id="menu0outline" style="display:none">
&nbsp;<a href=" index.php">Menupunk1_1</a><br>
&nbsp;<a target="_blank" href=" http://lhc.com&mo=0">Menupunk1_2</a><br>
&nbsp;<a href=" index.php?side=getp">Menupunk1_3</a><br>
</span>
</div>

</body>
</html>
Avatar billede Slettet bruger
07. januar 2005 - 00:21 #4
Og et IE hack så du får hånd på både IE og andre browsere:

cursor:hand;

skal være

cursor:pointer;cursor:hand;
Avatar billede jonbdk Nybegynder
07. januar 2005 - 00:53 #5
Det er dæleme nice work - og lækkert med det lille hack - havde ærgret mig over det :)
Smider du lige et svar så smider jeg point :)
Og tusind tak for hjælpen
Avatar billede Slettet bruger
07. januar 2005 - 07:37 #6
Selv tak, og råb endeligt højt hvis der er andet :)
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