Hallo Maik,
<SCRIPT LANGUAGE="JavaScript">
hier fehlt type="text/javascript"
if (navigator.appName == "Netscape") {
}else{
layerStyleRef="layer.style.";
du hast nur die zwei alten Browser-DOMs berücksichtigt. Mozilla wird Deine Script-Abfrage nicht mögen, weil es weder document.layer noch document.all kennt
if (eval
eval is evil ;)
Allerdings habe ich jetzt das Problem, dass wenn man auf "Home" klickt und dann auf "blabla" überlagern sich die Layer, ich hätte aber lieber, das sie sich wechseln anstatt sich zu überlagern?
Du willst also, daß sich der zuletzt geöffnete Layer "schließt", wenn der aktuelle sich "öffnet"? Setze eine Variable, die du beim Öffnen abfragst.
Ausnahmsweise mal ein Scriptschnipsel, ich finde den passenden Originalthread von Sven R. im Archiv gerade nicht:
ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
v6 = (document.getElementById)? true:false;
//die etwas bessere Browserabfrage!
lastlayer=-1;
//der zuletzt geöfnete Layer, initialisiert auf -1
function showlayer(layerid)
{
if (lastlayer!=-1) {hidelayer(lastlayer);}
if (ns4) document.layers[layerid].visibility = "show"
else if (v6) document.getElementById(layerid).style.visibility = "visible";
else if (ie4) document.all[layerid].style.visibility = "visible"
lastlayer=layerid; //setzen der Variable, um auf den letzten Layer zugreifen zu können
}
function hidelayer(layerid)
{
if (ns4) document.layers[layerid].visibility = "hide"
else if (v6) document.getElementById(layerid).style.visibility = "hidden";
else if (ie4) document.all[layerid].style.visibility = "hidden"
}
Ist es ungefähr das, was du willst? Dann geht es tatsächlich einfacher ;)
Gruß aus Köln-Ehrenfeld,
Elya
"Alle mal an die Nase fassen, und zwar an die eigene": </archiv/2003/9/57903/#m324482>
_____________
elyas virtuelle Altbauwohnung: http://www.visuelya.de