IMG-SRC-Zugriff bei CSS-Positionierung erzeugt Fehler unter Netscape
Steffen Wolfrum
- javascript
Wenn ich die verlinkte Grafik eines Bildlein-Wechsel-Dich-Beispiels in einen LAYER einbette, kann ich sie ja trotzdem ansprechen und der Bildwechsel funktioniert:
<HTML>
<HEAD>
<TITLE>Bildlein-Wechsle-Dich</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!--
function preload(){
img_over = new Image()
img_over.src = "bild_over.gif"
}
function over(){
if (document.layers[0].document.images)
document.layers[0].document.grafik.src = img_over.src
}
function out(){
if (document.layers[0].document.images)
document.layers[0].document.grafik.src = "bild_out.gif"
}
preload()
//--></SCRIPT>
</HEAD>
<BODY>
<LAYER STYLE="z-index:1">
<A HREF="#" ONMOUSEOVER="over()" ONMOUSEOUT="out()">
<IMG SRC="bild_out.gif" NAME="grafik">
</A>
</LAYER>
</BODY>
</HTML>
Wenn ich aber Angaben zu einer absoluten Positionierung in den LAYER-STYLE einfüge...
STYLE="position:absolute;top:10px;left:10px;z-index:1"
... dann erscheint bei NetscapeNavigator 4.X (unter Windows und MacOs) stattdessen plötzlich die JavaScript-Fehlermeldung:
line 11: document.layers[0].document.grafik has no properties.
Wie kann das denn sein?
(Und wie kann man es vermeiden?)
Wenn ich aber Angaben zu einer absoluten Positionierung in den LAYER-STYLE einfüge...
STYLE="position:absolute;top:10px;left:10px;z-index:1"
... dann erscheint bei NetscapeNavigator 4.X (unter Windows und MacOs) stattdessen plötzlich die JavaScript-Fehlermeldung:
Hallo Steffen,
Soweit ich weiss, brauchst Du die style-Anweisung nur für den IE, da die Layer-Positionierung für Netscape im Layer-Tag selbst vorgenommen wird (<LAYER TOP=10 LEFT=20 VISIBILITY=INHERIT WIDTH=500 HEIGHT=2128 Z-INDEX=1>).
Also könntest Du Deine Styleangaben über document.write ausgeben, mit der Abfrage:
var BrowserName = navigator.appName;
if (BrowserName=="Microsoft Internet Explorer")
{
document.write ('<STYLE>');
......
}
Vielleich funktioniert das so...
Viel Erfolg :-)
Alexis