NS: Image in DIV-Tag ansprechen
Benjamin Mollenhauer
- dhtml
Hallo,
wie spreche ich im Netscape(!) ein Image an, das sich innerhalb eines DIV-Tags befindet? Ich hab nun alle möglichkeiten durch, bis hin zu solchen Monstern wie
"window.document.layers['Auge'].images['gfxLinkesAuge'].src"
Geht aber alles nicht. Wie geht's?
Beim IE ist mal wieder alles viel einfacher: gfxLinkesAuge.src ....
Grüße,
Benni
Hallo Benni,
Das es beim MSIE so einfach ist, liegt daran, dass bei diesem elementids direct unterm document liegen.
Bei Netscape ist dir Hirarchie volgende:
document->layer->document->image
Layers enthalten ein eigenes document-Objekt was auch auf seine art logisch ist.
Du muß das also mit document.Auge.document.gfxLinkesAuge.src machen.
Tschüs
Daniel
Du muß das also mit document.Auge.document.gfxLinkesAuge.src
Das hatte ich auch schon probiert und habe es eben noch einmal getestet:
JavaScript Error: document.Auge.document.gfxLinkesAuge has no properties.
Dazu noch ein wenig Source:
<TD><DIV STYLE="position: absolute;" ID="Auge"><IMG NAME="gfxLinkesAuge" SRC="images/px.gif" WIDTH=55 HEIGHT=55></DIV><BR></TD>
document.Auge.document.gfxLinkesAuge.src = PreloadedImages[anim].src;
Benni
Hallo Benjamin!
Bingo! ;-)
Du hast die 10. häufigste Frage erwischt.
MfG
Thomas
Aber mit den Stichworten Netscape, Layer, Image findet man einen solchen Artikel halt nicht. Ich habe sehr wohl SelfHTML durchforstet und das Archiv durchsucht.
Aber immerhin hast du nicht gleich angefangen zu meckern! ;)
Die Links haben mein Problem leider nicht gelößt. Das was in dem einen Artikel stand wußte ich mittlerweile.
Nur leider funktionieren die Beispiele nicht einmal bei meinem Problem. Ich habe alles richtig gemacht *g* - wenn ich das Bild und den DIV-Tag außerhalb meiner Tabelle setze, dann geht alles. Innerhalb eines TDs nicht. Dazu in einem der Artikel der lapidare Hinweis "Der <layer> scheint also nicht direkt mit einer Tabellen-Zelle verknüpfbar zu sein." - inwiefern der für mein Problem relevant ist läßt sich nur erahnen.
Ich glaube, dann ist es nicht möglich, die Seite so aufzubauen, wie gewünscht. Ich wollte es allen Besuchern ermöglichen die Seite zu betrachten: Den alten 3ern Browsern, den Leuten ohne JavaScript und natürlich den aktuellen.
Dieses Vorhaben scheitert wohl an Netscape. Netscape suckt!!! Hoffentlich schrumpt der Marktanteil noch weiter... ;)
Benni
Hallo Benni
Mal den Teufel nicht, an die Wand.
Die Formulierung deiner Hoffnung sollte lauten:
Hoffentlich wird der N5 sogut das Microsoft vom Markt verdrängt wird.
Außerdem habe ich schon ILAYER-Tags erfplgreich in Tabellen eingebaut. Mit divs mußt du bei
Netscape noch _sehr_ vorsichtig sein (betonung auf noch und sehr)
Daniel
Hallo Benjamin!
Ich habe den Script aus der Auslese genommen und eifach in eine Tabelle gelegt. (für das div habe ich position relative genommen.)
Es funktioniert mit NS4.6.
Wenn das nicht das ist was du willst (Bild im Tabelle unter NS ansprechen), dann muss du aber genauer sagen was du willst.
<HTML>
<HEAD>
<TITLE>Dynamische grafische Buttons</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
Normal1 = new Image();
Normal1.src = "bild-a1.gif";
Highlight1 = new Image();
Highlight1.src = "bild-a2.gif";
Normal2 = new Image();
Normal2.src = "bild-b1.gif";
Highlight2 = new Image();
Highlight2.src = "bild-b2.gif";
function Bildwechsel ( BildName, BildObjekt ) {
if ( document.all ) {
switch ( BildName ) {
case 'AltaVista' : window.document.all.AltaVista.src = BildObjekt.src;
break;
case 'Lycos' : window.document.all.Lycos.src = BildObjekt.src;
break;
}
}
else {
if ( document.layers ) {
switch ( BildName ) {
case 'AltaVista' : window.document.DIV0.document.AltaVista.src = BildObjekt.src;
break;
case 'Lycos' : window.document.DIV0.document.Lycos.src = BildObjekt.src;
break;
}
}
}
}
//-->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
#DIV0 {
POSITION:relative; /*absolute; TOP:100px; LEFT:100px; WIDTH:100px; HEIGHT:100px;*/
}
//-->
</STYLE>
</HEAD>
<BODY>
<table width="550" align="center" cellpadding="0" cellspacing="0" border="1">
<tr><td height="55" colspan="3">Text ..... Text</td></tr>
<tr>
<td height="400" width="55">A</td>
<td width="440">
<DIV ID="DIV0">
<A HREF="http://www.altavista.digital.com/"
onMouseOver="Bildwechsel ( 'AltaVista', Highlight1 )"
onMouseOut="Bildwechsel ( 'AltaVista', Normal1 )">
<IMG SRC="bild-a1.gif" NAME="AltaVista" ALT="AltaVista besuchen" BORDER=0 HEIGHT=50 WIDTH=100></A><BR>
<A HREF="http://www.lycos.de/"
onMouseOver="Bildwechsel ( 'Lycos', Highlight2 )"
onMouseOut="Bildwechsel ( 'Lycos', Normal2 )">
<IMG SRC="bild-b1.gif" NAME="Lycos" ALT="Lycos besuchen" BORDER=0 HEIGHT=50 WIDTH=100></A>
</DIV>
</td>
<td width="55">A</td>
</tr>
<tr><td height="55" colspan="3">Text ..... Text</td></tr>
</table>
</BODY>
</HTML>