Verstecken von Layern...
Jens Nödler
- dhtml
0 kaepten0 kaepten
0 holger kuehne0 Joachim
Hallo Forumer!
Ich habe z.Zt. ein Problem mit absoluten DIVs. Sie sollen ein geblendet werden und dann beim Verlassen des DIVs (onMouseout) wieder ausgeblendet werden.
So weit, so gut. Befindet sich nun aber ein zusätzlicher Tag (z.B. <a>) wird das DIV bereits beim überfahren des Links versteckt, da das eigentliche DIV verlassen wurde. Wie kann ich dieses verhindern, so dass das DIV nur beim verlassen mit der Maus ausgeblendet wird und nicht bereits vorher?
Vielen Dank für eure Hilfe.
mfg
jens
<html><head>
<script language="JavaScript">
function hide(div) {
document.all[div].style.visibility = "hidden";
}
</script>
</head>
<body bgcolor="#FFFFFF">
<div id="inhalt" style="position:absolute; left:42px; top:35px; width:94px; height:95px; z-index:1; background-color:#CCCCCC;
layer-background-color:#CCCCCC; border: 1px none #000000" onmouseout="hide('inhalt');"><a href="http://webguide-net.de">hallo</a></div>
</body></html>
PS: Schön, dass das Forum wieder funzt! *g*
Ich kenne Dein Problem ganz genau... ;-)
Hab mich auch schon stundenlang damit abgemüht. Letztlich hab ichs aufgegeben auf das onMouseOut etwas auszuführen.
Ich habs dann mit einem DoIt-Layer "hinter" dem effektiv benützten Layer gelöst. Ich verwendete dann onMouseOver bei diesem Layer, das hat die gleiche Wirkung, wie das, was Du mit onMouseOut machen willst.
(Anzusehen bei: http://www.vsp-afc.ch/temp)
cheers
kaepten
(-o-) mei de forse bi wit iu!
Hallo Holger & kaepten!
Danke für eure Tipps. Ich habe stundenlang versucht dieses Problem zu lösen und alles, was ich brauche steht in SELFHTML.... Manchmal sieht man den Wald vor lauter Bäumen nicht. *g*
Anzusehen bei: http://www.vsp-asfc.ch/temp/
Wooh! Super Site!
mfg
jens
Hi Jens
Das Problem liegt in der Vererbung von Events im IE. Anwenderereignisse werden von innen nach aussen vererbt. Man kann das mit:
window.event.cancelBubble = true;
verhindern. (siehe http://www.teamone.de/selfhtml/tfba.htm#a6)
Tschau Holger
hi Holger
window.event.cancelBubble = true;
mein IE 4.0.1 / Mac ignoriert das leider. So habe ich einfach eine Zeige-Funktion eingebaut, die per onmouseover aufgerufen wird. Auch das verhindert (bei mir am Mac), dass sich der Layer schon beim Ueberfahren des Links verabschiedet.
Hoffendlich auch am PC ;-) vielleicht kann das mal einer testen.
Gruss Joachim
<html><head>
<script language="JavaScript">
function hide(div) {
document.all[div].style.visibility = "hidden";
}
function zeigen(div)
{
document.all[div].style.visibility="visible";
}
</script>
</head>
<body bgcolor="#FFFFFF">
<div id="inhalt" style="position:absolute; left:42px; top:35px; width:94px; height:95px; z-index:1;
background-color:#CCCCCC;
layer-background-color:#CCCCCC; border: 1px none #000000" onmouseover="zeigen('inhalt');" onmouseout="hide('inhalt');"><a
href="http://webguide-net.de">hallo</a></div>
</body></html>