Fehler im Javascript DHTML Menu

Frank Snake

Grünschnabel
ich will auf meiner Homepage so ein Dropdownmenu erstellen wie in dem DHTML Tutorial beschrieben.

Hier

Ich hab das alles so geschrieben wie es sein soll, aber der Internetexplorer gibt mir einen Fehler aus und behauptet das es in der Zeile 34 des Codes sei.


Das ist die Zeile 34
PHP:
d.getElementById('einsatz').style.display="none"



Als Fehler gibt die Fehlermeldung an das ein Object fehlen würde. Was kann das sein?

PHP:
<!--

    function show(divid) {
    d=document;
    d.getElementById('einsatz').style.display="none";
    d.getElementById("cat2").style.display="none";

    d.getElementById(divid).style.display="inline";

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

<body background="./pix/links.gif" onload="FP_preloadImgs(/*url*/'linkpix/Einsatz2.jpg', /*url*/'linkpix/Einsatz3.jpg', /*url*/'linkpix/EA2.jpg', /*url*/'linkpix/EA3.jpg', /*url*/'linkpix/Jf1.jpg', /*url*/'linkpix/Jf2.jpg', /*url*/'linkpix/Links1.jpg', /*url*/'linkpix/Links2.jpg', /*url*/'linkpix/2004_2.jpg', /*url*/'linkpix/2004_3.jpg', /*url*/'linkpix/2003_2.jpg', /*url*/'linkpix/2003_3.jpg', /*url*/'linkpix/2002_2.jpg', /*url*/'linkpix/2002_3.jpg', /*url*/'linkpix/2001_2.jpg', /*url*/'linkpix/2001_3.jpg')">
    <a href="#" onclick="show('einsatz')">Button Einsätze</a><br>
    <div id='einsatz' style="display:none">
    <a href="2004.php">Button für 2004</a><br>
    <a href="2003.php">Button für 2004</a><br>
    <a href="2002.php">Button für 2004/a><br>
    </div>

Mal der Quellcode auf den es ankommt zum Überblick. Da wo Button für ... steht sind noch so Hoverbuttons die auch mit dem Javascript funzen integriert die hab ich aber jetzt mal gestrichen, sonst wird der code hier so lang.


Danke für eure Hilfe

Ciao

Frank
 
Hi,

Du hast zunächst zwei Anweisungen, in denen Du den Div-Objekten die Style-Eigenschaft
display: none zuweist. Die kannst Du Dir eigentlich schenken, denn anschliessend
machst Du es sowieso sichtbar.
Ausserdem fehlt der einleitende SCRIPT-Tag

<script language="javascript" type="text/javascript">

Vielleicht hast Du ihn auch nur vergessen mitzukopieren.

Bei mir funktioniert es mit folgender Funktion:
Code:
<script language="javascript" type="text/javascript">
<!--
    function show(divid) {
        d=document;
        d.getElementById(divid).style.display="inline";
    }
//-->
</script>

Ciao
Quaese
 
Cool

Danke jetzt funktioniert es. Es lag wohl daran das beim einleitenden Scripttag den type text/javascript vergessen habe.

Dann hab ich noch ne abschließende Frage. Ich hätte gerne das sich das Menu nach ausführung des Links im Submenu wieder zusammenfährt. Wie mach ich das am besten?

Thx

Ciao Frank
 
Hi,

mit einer zweiten Funktion, in der Du "display " auf "none" setzt, versteckst Du
das Submenue wieder.

Code:
function hide(divid) {
    d=document;
    d.getElementById(divid).style.display="none";
}

Diese Funktion rufst Du jetzt jedesmal auf, wenn Du einen Link aus dem Untermenue
betätigst. Als Parameter übergibst Du jeweils die ID des übergeordneten DIV-Tags.

Code:
<a href="#" onClick="show('einsatz')">Button Einsätze</a><br>
<div id='einsatz' style="display: none;">
    <a onClick="hide('einsatz')" href="#">Button für 2004</a><br>
    <a onClick="hide('einsatz')" href="#">Button für 2004</a><br>
    <a onClick="hide('einsatz')" href="#">Button für 2004/a><br>
</div>

Ciao
Quaese
 

Neue Beiträge

Zurück