XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   Element mit Javascript ein- und ausblenden (http://xhtmlforum.de/showthread.php?t=41346)

yellowfox 15.08.2006 20:34

Element mit Javascript ein- und ausblenden
 
Hallo Leute

Ich brauche eine Liste (schlussendlich ein Menü), welches beim Klicken auf einen bestimmten Link eingeblendet wir. Das Menü soll wieder ausgeblendet werden, wenn man es mit der Maus verlässt.

Im Grunde genommen ganz einfach. Aber ich beisse mir grade die Zähne daran aus. Aus irgendeinem mit unverständlichen Grund wird die Liste bereits ausgeblendet, wenn man einen darin enthaltenen Link verlässt (obwohl der Event-Handler bei der Liste eingetragen ist). Sie soll aber eben erst ausgeblendet werden, wenn man die Liste verlässt.

Ich hoffe, ihr versteht was ich meine.

Meine aktuelle Variante ist die folgende:

Code:

<html lang="de" xml:lang="de" xmlns="http://www.w3.org/1999/xhtml">

        <head>

                <script type="text/javascript">
               
                        function show (layer)
                                {
                                  if (document.getElementById)
                                    document.getElementById(layer).style.visibility = "visible";
                                }
                       
                        function hide (layer)
                                {
                                  if (document.getElementById)
                                    document.getElementById(layer).style.visibility = "hidden";
                                }
               
                </script>

        </head>

        <body>
               
                <a href="#" onclick="show('navigation')">Einblenden</a>
                               
                <ul id="navigation" onmouseout="hide('navigation')">
                       
                        <li><a href="#">Link1</a></li>
                        <li><a href="#">Link2</a></li>
                        <li><a href="#">Link3</a></li>
               
                </ul>
       
        </body>

</html>

Ich muss dazu sagen: Javascript ist nicht mein Fachgebiet. Vermutlich mache ich einen grundsätzlichen Fehler. Wenn mir also irgenwer einen Tipp geben könnte, wäre ich sehr dankbar.

Gruss

duessu 17.08.2006 16:05

Das Problem ist nicht das Link verlassen sondern das Link "hovern".
Es blendet nämlich das UL aus, da du ja nicht mehr auf dem UL bist sondern auf dem LI.
Als Lösung würde ich das Mouse over entfernen, und dem darunterliegenden (hier body) ein onclick = hide('navigation'). Von einem Mouseover rate ich ab, da man bei einem Menü schnell noch mit der Maus drab fährt. und dann das Menü wieder aufgerufen werden muss.


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:04 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2020, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2019