Stephan Huber: Warum funktioniert das in IE5/NS4, aber nicht in IE4

Beitrag lesen

Hallo zusammen,
ich habe ein eigentlich recht simples Javascript, das die Sichtbarkeit von Layern umzustellt, um damit Rollovers zu machen, die nicht auf den Bereich eines Bildes beschränkt sind. Das ganze funktioniert wunderbar in IE5 und NS4, aber IE4 mag einfach nicht, und ich komm' nicht drauf, warum. Eigentlich sollte die Syntax völlig konform zu IE4 sein:

<script language="Javascript">
if (document.layers)  {
     ns = 1; ie = 0;
} else {
     ns = 0; ie = 1;
}

function layerzeigen(name) {
if (ns) {
    document.layers[''+name].visibility = "show";  
    }
    else {
    document.all[''+name].style.visibility = "visible"
    }
}

function layerverbergen(name) {
if (ns){
    document.layers[''+name].visibility = "hide"
    }
    else {
    document.all[''+name].style.visibility = "hidden"
    }
}

function menue_aktivieren(menuid)
{
    layerverbergen(eval('"' + menuid +'off"'));
    layerzeigen(eval('"' + menuid +'on"'));
}

function menue_deaktivieren(menuid)
{
    layerzeigen(eval('"' + menuid +'off"'));
    layerverbergen(eval('"' + menuid +'on"'));
}

</script>

Darauf folgen dann im Body Layer der Form:

<div id="geschichteoff" style="position:absolute;left:0px;top:66px;visibility:visible;z-index:0;">
<a href="../../main_content.phtml?bereich=welt&bereich2=geschichte" target="main_content" onmouseover="menue_aktivieren('geschichte');" onmouseout="menue_deaktivieren('geschichte');"><img src="images/icon_geschichte_off.gif" border=0></a></div>
<div id="geschichteon" style="position:absolute;left:0px;top:66px;visibility:hidden;z-index:2;">
<a href="../../main_content.phtml?bereich=welt&bereich2=geschichte" target="main_content" onmouseover="menue_aktivieren('geschichte');" onmouseout="menue_deaktivieren('geschichte');"><img src="images/icon_geschichte_on.gif" border=0></a></div>

Warum verweigert sich da IE4 bitte?
Wer's ausprobieren will:
http://analogon.com/pumuckl/index.phtml
Komischerweise funktioniert es auf der zweiten Seite in der oberen Navigationsleiste, obwohl das Javscript eigentlich bis auf einen minimalen Unterschied, der keine Rolle spielen sollte, nur Copy/Paste ist.

Viele Grüße
Stephan