javaScript und CSS unter Netscape
reneFrage
- css
bei verwendung des div tags funktioniert meine Bildwechselfunktion nicht mehr .
wer kann helfen?
<html>
<head>
<title>navi</title>
<script language="JavaScript">
<!--
N1 = new Image();
N1.src = "../pics/home.jpg";
H1 = new Image();
H1.src = "../pics/homee.jpg";
function Bildwechsel(Bildnr,Bildobjekt)
{
window.document.images[Bildnr].src=Bildobjekt.src;
}
//-->
</script>
</head>
<body text="#000000" bgcolor="#000000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<div style="position:absolute;top:100px;left:0px;">
<img src="../pics/artonauten.jpg" width="227" height="40" border="0" alt="">
</div>
<a href="index.htm" onMouseOver="Bildwechsel(1,H1)"
onMouseOut="Bildwechsel(1,N1)">
<img src="../pics/home.jpg" width="151" height="30" border="0" alt=""></a>
</body>
</html>
Hi
Du bist einem typischen Netscape "Problem" auf den Leim gegangen ;-)
Sobald du irgendetwas in einem layer ansprechen willst musst du das ueber:
document.layers[Nr].document.... tun. egal ob du Bilder tauschen willst oder Formularwerte auslesen oder was weiss ich sonst noch machen willst. Fuer Netscape sind layer (oder absolut positionierte div's) wie eigene Dokumente. Das fuerht unter anderem dazu, dass die Bilder im layer nicht mehr beim gesamtdokument mitgezaehlt werden duerfen, sondern extra zaehlen. In deinem Fall heisst dass:
1. Das Bild <img src="../pics/home.jpg" width="151" height="30" border="0" alt=""> ist das erste fuer das gesamtdokument!! Und da mit Null angefangen wird zu zaehlen musst du
<a href="index.htm" onMouseOver="Bildwechsel(0,H1)" onMouseOut="Bildwechsel(0,N1)">
<img src="../pics/home.jpg" width="151" height="30" border="0" alt=""></a> schreiben
Falls du irgenwann ein Bild innerhalb eines layers austauschen willst musst du deine Bildwechselfunktion abaendern.
(Netscape: document.layers[layernumer].document.images[imagenummer].src=Bildobjekt.src;)
viele Gruesse Holger
Hallo,
vorsichtige (weil nicht getestete) Anregung, Ergänzung, Tip: Es müste auch funktionieren, wenn Du jedem Bild im img Tag einen Namen gibts (also Name="Bild1") und die mouseoverfunktion mit:
onmouseover"Bildwechsel('Bild1',Highlight1)"
aufrufts. Die Funktion Bildwechesel lautet dann einfach:
function Bildwechsel(Bildname,Bildobjekt)
{
window.document.images[Bildname].src = Bildobjekt.src;
(wobei Highlight1 wie üblich mit New Image vorgeladen worden ist....
Das dürfte (?) eigendlich auch über Layergrenzen hinweg funktionieren.... und Du brauchst für alle mouseoverfunktionen nur eine Funktion, egal ob im oder auserhalb eines Layers... (hoffe das stimmt ;-)
Chräcker
Hi!
egal ob name oder nummer, das Bild im Layer existiert für den netsi nicht mehr als objekt von document sondern als objekt von document.layer[YYY].document
mfG
BRAND