rollover (komplex)
Susann
- javascript
Hallo...
ich habe ein kleines Java-Script Problem.
Es wäre nett, wenn jemand mir und meiner Navigationsleiste helfen könnte.
Das Script funktioniert nur, wenn die Tabelle !! nicht !! in einem absolut positioniertem Layer ist.
Warum.. was mache ich falsch?
Susann
</SCRIPT>
<script language="JavaScript">
<!--
var nSelect = 99;
pic_normal = new Object();
pic_highlight = new Object();
pic_selected = new Object();
pic_cur = new Object();
text = new Object();
defaultStatus = ""
pic_highlight[0] = "a_me.gif";
pic_normal[0] = "me.gif";
pic_selected[0] = "v_me.gif";
pic_cur[0] = pic_normal[0];
pic_highlight[1] = "a_print.gif";
pic_normal[1] = "print.gif";
pic_selected[1] = "v_print.gif";
pic_cur[1] = pic_normal[1];
text[0] = "identity";
text[1] = "print";
function mOver (menuepunkt)
{
status=text[menuepunkt];
pic_cur[menuepunkt] = pic_highlight[menuepunkt];
document.images[menuepunkt].src=pic_cur[menuepunkt];
}
function mOut (menuepunkt)
{
if(nSelect == menuepunkt)
{
pic_cur[menuepunkt] = pic_highlight[menuepunkt];
}
else
{
pic_cur[menuepunkt] = pic_normal[menuepunkt];
}
document.images[menuepunkt].src=pic_cur[menuepunkt];
}
function mClick (menuepunkt)
{
if(nSelect != 99)
{
pic_normal[nSelect] = pic_selected[nSelect];
pic_cur[nSelect] = pic_selected[nSelect];
document.images[nSelect].src=pic_cur[nSelect];
}
nSelect = menuepunkt;
pic_cur[menuepunkt] = pic_highlight[menuepunkt];
document.images[menuepunkt].src=pic_cur[menuepunkt];
aktiv=menuepunkt;
}
function ZweiFrames(URL0,F0,URL2,F2)
{
parent.frames[F0].location.href=URL0;
parent.frames[F2].location.href=URL2;
}
// -->
</script>
</head>
<body topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
<div id="Layer1" style="position:absolute; left:2px; top:-2px; width:801px; height:30px; z-index:1">
<table width="100%" valign="top" border="0" cellspacing="0" cellpadding="0" name="leiste" height="30">
<tr>
<td border=0 width=100 align=center valign="middle">
<a onMouseOver="mOver(0)"
onMouseOut="mOut(0)"
onMouseDown="mClick(0)"
href="javascript:ZweiFrames('me_o.htm',0,'me_u.htm',2)">
<img src="me.gif" width="140" height="25" border=0 align="top" name="identity"></a>
</td>
<td valign=middle border=0 width=100 align=center>
<a onMouseOver="mOver(1);return true;"
onMouseOut="mOut(1);return true;"
onMouseDown="mClick(1);return true;"
href="javascript:ZweiFrames('print_o.htm',0,'print_u.htm',2)">
<img src="print.gif" width="140" height="25" border=0 align="top" name="print"></a>
</td>
</tr>
</table>
</div>
</BODY>
</HTML>
Das Script funktioniert nur, wenn die Tabelle !! nicht !! in einem absolut positioniertem Layer ist.
Warum.. was mache ich falsch?
spendier der Tabelle doch einen eigenen layer, wenn sonst auf diese Seite nix anderes kommen soll ;-)
Christoph S.
Das Script funktioniert nur, wenn die Tabelle !! nicht !! in einem absolut positioniertem Layer ist.
Warum.. was mache ich falsch?
Das liegt ganz einfach daran, daß Netscape die Image-Objekte nicht mehr findet, wenn sie in einem Layer liegen.
Wenn du deine Funktionen so umbaust, daß nicht mehr auf document.images[], sondern auf
document.layers['Layername'].document.images[] (für Netscape)
bzw auf document.all[bildname] (für Internet Explorer)
zugegriffen wird, sollte es eigentlich klappen.
Gruß,
Carsten