Probleme beim Ein- und Ausblenden von Layern nach einer bestimmten Zeit (setTimeout)

ayin

Grünschnabel
Hallo zusammen,

ich programmiere gerade ein umfangreiches Menü, welches sich in bis zu
zwei Unterkategorien aufklappt. Falls man es mit der Maus verlässt, soll
es noch eine Sekunde offen bleiben und dann ausgeblendet werden.

Was ich bisher habe ist folgendes:




Hiermit positioniere ich den Layer
Code:
<style type="text/css">
<!--
#leistungen  { position: absolute; top: 129px; left: 316px; width: 264px; height: 18px; visibility: hidden }
-->
</style>


Hier das JavaScript:
(beim Einblenden der Layer übergebe ich den Layername noch nicht)
Code:
<script language="Javascript">

function showlayer(mylayer){
	document.all.leistungen.style.visibility="visible";
}

function hidelayer(mylayer){
	setTimeout("document.all."+mylayer+".style.visibility='hidden'", 1000);
}

</script>


Wie es in der Seite eingebunden ist:
Code:
<div id="leistungen">
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#990100">
	<tr>
		<td width="140" height="20" onmouseover="showlayer(); return true" onmouseout="hidelayer('leistungen');"><span class="nav">&nbsp;&nbsp;Motorrad-Umbauten</span></td>
	</tr>
	<tr>
		<td width="140" height="20" onmouseover="showlayer(); return true" onmouseout="hidelayer('leistungen');"><span class="nav">&nbsp;&nbsp;Neues u. Gebrauchtes</span></td>
	</tr>
</table>
</div>

<table border="0" cellspacing="0" cellpadding="0" bgcolor="#990100">
	<tr>
		<td width="20" height="20"></td>
		<td width="140" height="20" style="cursor: hand" onmouseover="this.bgColor='#993233'; showlayer(); return true" onmouseout="this.bgColor='#990100'; hidelayer('leistungen');"><span class="nav">&nbsp;&nbsp;Leistungen</span></td>
	</tr>
</table>


Mein Problem ist, dass das Menü verschwindet, obwohl ich mich mit
der Maus noch auf der Tabelle befinde, bzw auf dem aufgeklappten Layer.

Wisst Ihr die Lösung?


Vielen Dank im Vorraus!
 
Re: Probleme beim Ein- und Ausblenden von Layern nach einer bestimmten Zeit (setTimeo

Das Problem liegt bei "onMouseOut".
Wenn Du die Tabellenspalte, über die Du den Menu-Layer gelegt hast mit der Maus verlässt, verschwindet der Layer nach einer Sekunde wieder. Das aufgeklappte Menü ist ja vermutlich größer als die Tabellenspalte.

Liebe Grüße

NoFate
 
Re: Probleme beim Ein- und Ausblenden von Layern nach einer bestimmten Zeit (setTimeo

Ich muss die Tabellenspalte, die den Layer erscheinen lässt ja garnicht verlassen. Das Problem tritt da schon auf, der Layer verschwindet einfach nach der angegebenen Zeit. Die hidelayer Funktion wird einfach ausgelöst, und ich weiss nicht warum...
 
Re: Probleme beim Ein- und Ausblenden von Layern nach einer bestimmten Zeit (setTimeo

Guten Morgen,

ich glaube ich habe das Problem erkannt. Wenn ich den Layer öffne, wird automatisch das onmouseout des Layers aktiviert. Wenn ich das rausnehme bleibt es offen.

Nur wie löse ich das ganze jetzt?
 

Neue Beiträge

Zurück