karinsch: layermenü :(

Beitrag lesen

Hallo!

Ich komm mit meinem Layermenü mit der 2. Ebene (Unteruntermenü) nicht weiter
Das hab ich bis jetzt. Könnt sich das bitte mal jemand ansehen, was da nicht stimmt - warum, wenn ich über den Unterbutton1 drüberfahre, dann nicht die Unterunterbutton1 + 2 kommen?

Vielen lieben Dank!!!
LG Karin!

<style type="text/css">
<!--
div#menucontainer {
position:absolute; z-index:1;
left:210px; top:0px;
width:565px;
border:0px;
}
div#menulink1 {
position:absolute; z-index:2;
left:8px; top:0px;
}
div#untermenu1 {
position:absolute; z-index:3; visibility:hidden;
left:6px; top:20px;
width:80pt;
}
div#unteruntermenu1 {
position:absolute; z-index:3; visibility:hidden;
left:6px; top:20px;
width:80pt;
}
div#menulink2 {
position:absolute; z-index:4;
left:140px; top:0px;
}
div#untermenu2 {
position:absolute; z-index:5; visibility:hidden;
left:138px; top:20px;
width:80pt;
}
div#menulink3 {
position:absolute; z-index:6;
left:225px; top:0px;
}
div#untermenu3 {
position:absolute; z-index:7; visibility:hidden;
left:222px; top:20px;
width:80pt;
}
-->
</style>
<script language="JavaScript">
<!--
// globale Browserflags setzen:

var dom = (document.getElementById) ? true : false; // ab IE5, NN6, u.a. Browser, die das Document Object Model unterstützen
var ie4 = (document.all && !dom) ? true : false;
var nn4 = (document.layers && !dom) ? true : false;
var op7 = (window.opera && document.body.innerHTML) ? true : false; // Opera 7 (falls spezieller Code nötig)
var op = (window.opera && !op7) ? true : false; // Opera (falls spezieller Code nötig)

// sonstige globale Variablen:

var overmenu = false; // bei true sollen die Menüs ausgeblendet werden

var overuntermenu = false; // bei true sollen die Untermenüs ausgeblendet werden

var timerid = null; // ID des Timeout

function getLayer(pname) // Referenz auf Ebene per ID holen:
{
if (dom) return document.getElementById(pname);
if (ie4) return eval('document.all.'+pname);
if (nn4) return findLayer(pname, document);
return null;
}

function findLayer(pname, doc) // Workarround um verschachtelte Layer im Netscape Navigator 4.x zu finden:
{
for (var i=0; i<doc.layers.length; i++) {
var layer = doc.layers[i];
if (layer.name == name) return layer;
if (layer.document.layers.length > 0) {
var layer = findLayer(pname, layer.document);
if (layer != null) return layer;
}
}
return null;
}

function hideLayer(obj) // Ebenen verstecken:
{
if (dom || ie4) obj.style.visibility = "hidden";
if (nn4) obj.visibility = "hide";
}

function showLayer(obj) // Ebenen anzeigen:
{
if (dom || ie4) obj.style.visibility = "visible";
if (nn4) obj.visibility = "show";
}

function showMenu(pname) // Untermenu anzeigen:
{
hideMenus();
showLayer(getLayer(pname));
overmenu = true;
}

function hideMenus() // Untermenüs verstecken:
{
hideLayer(getLayer("untermenu1"));
hideLayer(getLayer("untermenu2"));
hideLayer(getLayer("untermenu3"));
}

//function showUntermenu(pname) // Unteruntermenu anzeigen:
//{
// hideUntermenus();
// showLayer(getLayer(pname));
// overuntermenu = true;
//}
function hideUntermenus() // Unteruntermenüs verstecken:
{
hideLayer(getLayer("unteruntermenu1"));
}

function setHideMenus() // Initialisierung zum Verstecken der Untermenüs nach Verzögerungszeit:
{
overmenu = false;
if (timerid != null) clearTimeout(timerid); // laufenden Countdown anhalten
timerid = window.setTimeout(checkOverMenu, 1000); // Countdown zum Check auf Verstecken der Untermenüs
}

function setHideUntermenus() // Initialisierung zum Verstecken der Untermenüs nach Verzögerungszeit:
{
overuntermenu = false;
if (timerid != null) clearTimeout(timerid);
timerid = window.setTimeout(checkOverUntermenu, 1000);
}

function unsetHideMenus() // Untermenüs müssen nicht versteckt werden:
{
overmenu = true;

hideUntermenus();
//showLayer(getLayer(pname));
overuntermenu = true;
}

function unsetHideUntermenus() // Untermenüs müssen nicht versteckt werden:
{
overuntermenu = true;
}

function checkOverMenu() // Menüs verstecken?:
{
if (!overmenu) hideMenus();
}

function checkOverUntermenu() // Untermenüs verstecken?:
{
if (!overuntermenu) hideUntermenus();
}
//-->
</script>

<div id="menucontainer">

<div id="menulink1">
<a href="start.html" onmouseover="showMenu('untermenu1')" onmouseout="setHideMenus()">BUTTON 1</a>
</div>
<div id="untermenu1">
<table cellpadding="0" cellspacing="0">
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 1</a></td>
</tr>
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 2</a></td>
</tr>
</table>
</div>
<div id="unteruntermenu1">
<table cellpadding="0" cellspacing="0">
<tr>
<td><a href="seite.html" onmouseover="unsetHideUntermenus()" onmouseout="setHideUntermenus()">Unterunterbutton 1</a></td>
</tr>
<tr>
<td><a href="seite.html" onmouseover="unsetHideUntermenus()" onmouseout="setHideUntermenus()">Unterunterbutton 2</a></td>
</tr>
</table>
</div>

<div id="menulink2">
<a href="#" onmouseover="showMenu('untermenu2')" onmouseout="setHideMenus()">BUTTON 2</a>
</div>
<div id="untermenu2">
<table cellpadding="0" cellspacing="0">
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 1</a></td>
</tr>
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 2</a></td>
</tr>
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 3</a></td>
</tr>
</table>
</div>

<div id="menulink3">
<a href="#" onmouseover="showMenu('untermenu3')" onmouseout="setHideMenus()">BUTTON 3</a>
</div>
<div id="untermenu3">
<table cellpadding="0" cellspacing="0">
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 1</a></td>
</tr>
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 2</a></td>
</tr>
<tr>
<td><a href="seite.html" onmouseover="unsetHideMenus()" onmouseout="setHideMenus()">Unterbutton 3</a></td>
</tr>
</table>
</div>
</div>