Meine Layer funktionieren bei Mozilla nicht
Vegeta
- javascript
Servus, Leute!
Ich fasse mich mal kurz: Ich habe eine Navigationsleiste gemacht, die Layer enthält, d.h. bei einigen Menüpunkten öffnen sich Layer mit Unterkategorien als Links zum Anklicken. Wie das aussieht, könnt ihr mal auf http://www.zockerseite.de.vu/ nachschauen (es werden dort Layer ausschließlich beim Punkt "Spiele" verwendet). Hier gibt es einen Auszug aus dem zugehörigen Quellcode:
<script type="text/javascript">
<!--
var isDom = document.getElementById;
var isDomIE = document.all;
var isDomNN = document.layers;
function OnLayer(di)
{
if (isDom) document.getElementById(di).style.visibility="visible";
if (isDomIE) document.all[di].style.visibility="visible";
if (isDomNN) document.layers[di].visibility="visible";
}
function OutLayer(di)
{
if (isDom) document.getElementById(di).style.visibility="hidden";
if (isDomIE) document.all[di].style.visibility="hidden";
if (isDomNN) document.layers[di].visibility="hidden";
}
//-->
</script>
<a href="#" target="_self" onClick="javascript:OnLayer('Layer01')" onMouseOut="javascript:OutLayer('Layer01')">Layer öffnen</a>
<div id="Layer01" style="visibility:hidden" onMouseOver="javascript:OnLayer('Layer01')" onMouseOut="javascript:OutLayer('Layer01')">
Hier ist der Layer01-Inhalt.
</div>
Mein Problem ist nun folgendes: Beim Internet Explorer funktioniert's, bei Netscape funktioniert es meines Wissens auch, aber bei Mozilla eben nicht. Wenn ich jetzt nur wüßte, wie man den Quellcode "umprogrammiert" oder verbessert, daß die Layer auch mit Mozilla funktionieren... also... hat jemand eine Idee?
Hi,
Mein Problem ist nun folgendes: Beim Internet Explorer funktioniert's, bei Netscape funktioniert es meines Wissens auch, aber bei Mozilla eben nicht. Wenn ich jetzt nur wüßte, wie man den Quellcode "umprogrammiert" oder verbessert, daß die Layer auch mit Mozilla funktionieren... also... hat jemand eine Idee?
bei mir funktionierts (Mozilla 1.0), das einzige Problem ist, daß das entsprechende div nicht direkt am Link "anliegt", sondern etwa eine Zeile tiefer anfängt. Das wirkt sich dann so aus, daß ich es mit dem Mauszeiger nicht erreichen kann, bevor es verschwindet.
Das Javascript scheint also in Ordnung zu sein, lediglich an der Position müßtest Du noch ein wenig arbeiten.
Gruß aus Bilk
Rainer
bei mir funktionierts (Mozilla 1.0), das einzige Problem ist, daß das entsprechende div nicht direkt am Link "anliegt", sondern etwa eine Zeile tiefer anfängt. Das wirkt sich dann so aus, daß ich es mit dem Mauszeiger nicht erreichen kann, bevor es verschwindet.
Das Javascript scheint also in Ordnung zu sein, lediglich an der Position müßtest Du noch ein wenig arbeiten.
Genau eine Zeile oder genau ein Pixel?
Hi,
Genau eine Zeile oder genau ein Pixel?
ziemlich genau eine Zeile
Rainer
ziemlich genau eine Zeile
Als CSS-Stylesheet hab' ich für meinen Layer folgendes angegeben:
{ background-color:#000000; border:2px solid #646464; font-size:10px; margin-left:2px; padding:2px; position:absolute; width:110px }
Da müßte man evtl. etwas abändern, damit der Layer exakt unter dem Link plaziert wird und nicht eine Zeile darunter. Aber was?
HAAALLO?! JEMAND DAAA?!
Hi!
<a href="#" target="_self" onClick="javascript:OnLayer('Layer01')" onMouseOut="javascript:OutLayer('Layer01')">Layer öffnen</a>
<div id="Layer01" style="visibility:hidden" onMouseOver="javascript:OnLayer('Layer01')" onMouseOut="javascript:OutLayer('Layer01')">
Hier ist der Layer01-Inhalt.
</div>
Entferne "javascript:" aus den Eventhandlern!!!! Richtig muss es so sein:
<a href="#" target="_self" onlick="OnLayer('Layer01')" onmouseout="OutLayer('Layer01')">Layer öffnen</a>
<div id="Layer01" style="visibility:hidden" onmouseover="OnLayer('Layer01')" onmouseout="OutLayer('Layer01')">
Hier ist der Layer01-Inhalt.
</div>
Gruß Herbalizer