Gunther: JavaScript Menu

Beitrag lesen

// <SCRIPT>
// <!--
// 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";
// }
// -->
// </SCRIPT>

// <a href="#" onMouseDown="hide_layer(1)">.: Home :.</a>
// <layer name="this" left="250" top="100" width="150" height="200"> Test</layer>

Kann mir jemand sagen wieso das so nicht funktioniert?

Hi Chrissy!

Also dein Beispiel kann wenn überhaupt nur in einem NS < Vers.6 funktionieren, da der NS ab Vers.6 keine Layer mehr unterstützt.
Die Unterscheidung im Script ist also eh zwecklos.

Wenn dann muss entweder der Name des Layers übergeben werden, oder (wie Benjamin bereits schrieb) die Nummer, die immer bei 0 anfängt.

Der von dir gewählte Name könnte auch noch Probleme verursachen, da 'this' in JS zu den reservierten Worten gehört.

Vielleicht wäre es in deinem Fall sinnvoller, wenn du das Ganze mit einem DIV-Container und über die display-Eigenschaft löst, oder mit einem anderen HTML-Element und der visibility-Eigenschaft.

Gruß Gunther