petra: links innerhalb layern

hallo zusammen,
die folgende anfrage habe ich schon mal gestellt, aber leider bisher trotz sicherlich guter hinweise keine lösung gefunden.
leider funktionieren bei dem folgenden script die links im explorer nicht. vielleicht kann mir ja nochmal jemand auf die sprünge helfen.
gruß petra
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Unbenannt</title>
<title>Unbenannt</title>
<style>

.menu
{
position: absolute;
top: 0;
z-index: 2;
}

.submenu
{
position: absolute;
     top: 120;
z-index: 0;
visibility: hide;
visibility: hidden;
}
.submenu2
{
position: absolute;
     top: 100;
z-index: 0;
visibility: hide;
visibility: hidden;
}

</style>

<script language="JScript">

function show_layer(x)
{
if(document.layers)
  document.layers[x].visibility="show";
else
  document.all[x].style.visibility="visible";
}

function hide_layer(x)
{
if(document.layers)
  document.layers[x].visibility="hide";
else
  document.all[x].style.visibility="hidden";
}
var old;
var memold;

if(document.layers)
{
window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=do_out;
} else
{
document.onmousedown=do_out;
}
function do_menu(x)
{
if(!old)
  old=memold;

if(old!=x)  
{  

show_layer(x);
  old=x;
} else
  old="";
}
function do_check(x)
{
if(old && old!=x)
{
  hide_layer(old);
  show_layer(x);
  old=x;
}
}
function do_out()
{
if(old)
  hide_layer(old);

memold=old; old="";  

}

// -->
</script>

</head>

<body bgcolor="#ffffff" background="navi1.gif" link="#FFFFFF" alink="#ffffff" vlink="#ffffff">
<!--home-->
<div id="m1" class="menu" style="margin-left:15; margin-top: 80;">
<table cellspacing="0" cellpadding="0" border="0" width="69" height="35">
<tr><td>
<a href="javascript:do_menu('m1x')" onmouseover="do_check('m1x')">
<img src="homek.gif" width=79 height=35 alt="" border="0"></a>
</td></tr>
</table>
</div>

<div id="m1x" class="submenu" style="left: 10; ">
<table bgcolor="blue" cellspacing="0" cellpadding="0" border="0" width=89>
<tr><td>

<a href="y.html">bal blabal</a><br>
<a href="z.html">bal blabal</a><br>
<a href="w.html">bal blabal</a></td></tr>
</table>

</div>
<div id="m2" class="menu" style="left: 91; margin-top: 50">
<table cellspacing=0 cellpadding=0 border=0 width="105">
<tr><td><a href="javascript:do_menu('m2x')" onmouseover="do_check('m2x')">
<img src="infok.gif" width=105 height=29 alt="" border="0"></a></TD></tr>

</table>
</div>

<div id="m2x" class="submenu2" style="left: 90;">
<table  bgcolor="blue" cellspacing=0 cellpadding=0 border=0 width="135">
<tr><td>
<a href="home.html">Work</a><br>
<a href="">Tools</a><br>
<a href="">Spiele</a>
</td></tr>
</table>
</div>

<div id="m3" class="menu" style="left: 200; margin-top: 50">
<table cellspacing=0 cellpadding=0 border=0 width="93">
<tr><td><a href="javascript:do_menu('m3x')" onmouseover="do_check('m3x')">
<img src="servicek.gif" width=83 height=29 alt="" border="0">
</a></TD></tr>

</table>
</div>

<div id="m3x" class="submenu2" style="left: 150;">
<table  bgcolor="blue" cellspacing=0 cellpadding=0 border=0 width="93">
<tr><td>
<a href="home.html">Work</a><br>
<a href="">Tools</a><br>
<a href="">Spiele</a>
</td></tr>
</table>
</div>

<div id="m4" class="menu" style="left: 200; margin-top: 50">
<table cellspacing=0 cellpadding=0 border=0 width="93">
<tr><td><a href="javascript:do_menu('m4x')" onmouseover="do_check('m3x')">
<img src="servicek.gif" width=83 height=29 alt="" border="0">
</a></TD></tr>

</table>
</div>

<div id="m4x" class="submenu2" style="left: 150;">
<table  bgcolor="blue" cellspacing=0 cellpadding=0 border=0 width="93">
<tr><td>
<a href="home.html">Work</a><br>
<a href="">Tools</a><br>
<a href="">Spiele</a>
</td></tr>
</table>
</div>

</body>
</html>

  1. ebenfalls hallo ;-)

    ich habe bei einem sehr flüchtigen Durchprobieren denselben "Fehler" reproduziert... Auch das Ausbessern der <title>-tags bringt nichts  -  aber zwei Titel sind eh nicht nötig, und Netscape stolpert schon darüber.

    Trotzdem weiß ich einen Rat <g>: diese Menüführung hast du dir nicht selber ausgedacht, die ist auf einer der "Angebotsseiten" verfügbar und hat einen Originalautor  -  ich weiß bloß leider aus dem Kopf die Adresse nicht mehr. Aber ich habe haargenau dieselbe Menüführung mal kopiert und weiß, daß sie mit den Original-Verweisen ganz gut funktioniert.

    Also geh zurück ad fontes und kuck mal nach, was im Lauf deiner Bearbeitung verlorengegangen ist.

    Und wenn ich mich recht erinnere, sollte das Script auch nicht ohne copyright verwendet werden; sowas möchten halt manche Autoren ganz gerne, und dann sollte man das auch tun.

    Christoph S.

    1. nochmal hallo,
      natürlich habe ich das script nicht flüchtig durchprobiert.
      dennoch funktionieren die links im explorer nicht. problem sind die links die im layerbereich selbst stehen. also nur mit <a href=""> eingeleitet werden.
      auch beim orignalscript funktioniert dies nicht.
      also falls du  noch einen besseren tip hast bitte melden.
      wenn du willst kann ich dir die adresse sehr gerne mailen.
      gruß petra

      1. hi ;-)

        ich hatte gestern nicht so sehr viel Zeit ...

        also nochmal: ein sehr ähnliches Menü-Script findest du im Angebot von Michael Mailer unter http://www.webaid.de/js/index.shtml  -  deins stammt aus einer anderen Quelle, ist aber fast identisch.

        Die Lösung deines Problems ist eigentlich sehr einfach, du müßtest selbst drauf kommen, da du den "Fehler" ziemlich genau beschreibst. Das Menü funktioniert in einem Browser (Netscape) und im anderen nicht richtig. Also ?
        Im Script hast du am Anfang die entscheidenden Zeilen stehen:
        if(document.layers)
        {
        window.captureEvents(Event.MOUSEDOWN);
        window.onmousedown=do_out;
        } else
        {
        document.onmousedown=do_out;
        }

        Das ist korrekt, damit wird abgefragt, ob Netscape oder IE reagieren sollen  -  na bitte, also muß der Fehler hier liegen, oder ?
        Das tut er auch. Es fehlt einfach eine "all"-Angabe. Wenn du schreibst:

        else{
        document.all.onmousedown=do_out;
        }

        ist alles erledigt. Das wars dann  -  jedenfalls zeigt mir der IE jetzt, daß er auf den link reagiert.

        So weit, so gut ?

        Grüße aus Berlin

        Christoph S.

        1. hi ;-)

          ich werde es sofort antesten und von meinem erfolg oder auch mißerfolg berichten. erst mal herzlichen dank.
          gruß petra