hover-buttons wollen nicht :/
Dietmar Schulz
- javascript
0 Cheatah
guten tag.
ich versuche derzeit hover-buttons zu erzeugen, allerdings funktioniert dies nicht, im IE erscheint die Meldung:
window.document.images[...] ist NULL oder kein Objekt.
Hier nun der relevante Quelltext, bin natürlich für jede Hilfe dankbar.
style type="text/css">
<!--
body { }
#haus { position:absolute; top:50px; left:50px; width:85px; height:85px; z-index:1; }
#haus1 { position:absolute; top:50px; left:50px; width:85px; height:85px; z-index:2; }
-->
</style>
<script type="text/javascript">
//<!--
haus = new Image();
haus.src = "das-Haus.gif";
haus1 = new Image();
haus1.src = "das-Haus_over.gif";
function Bildwechsel(Indexnr,Bildobjekt) {
window.document.images[Indexnr].src=haus1.src;}
//-->
</script>
</head>
<body topmargin="0" leftmargin="0" background="Portal.jpg">
<a href="haus.html" OnMouseOver="Bildwechsel(0,haus1)" OnMouseOut="Bildwechsel(0,haus)">
<div id="haus" style="background-image:url(das-Haus.gif);"></div></a>
</body>
Hi,
window.document.images[...] ist NULL oder kein Objekt.
das ist ja auch kein Wunder, zumal Du nirgendwo einen <img>-Tag hast.
<script type="text/javascript">
//<!--
Dies führt zur Ausgabe von "//" - was im <head> nichts verloren hat.
<a href="haus.html" OnMouseOver="Bildwechsel(0,haus1)" OnMouseOut="Bildwechsel(0,haus)">
<div id="haus" style="background-image:url(das-Haus.gif);"></div></a>
Was bitte? <a> beinhaltet Inline-Elemente, <div> ist ein Blocklevel-Element. Diese Schachtelung ist _nicht_ gültig. Welches Bild willst Du eigentlich wechseln; bzw. was meinst Du mit "Hover-Buttons"?
Cheatah
also es existert erstmal ein Hintergrundbild (portal.jpg). Auf diesem wird dann per <div> das bild "das-haus.gif" aufgelegt. dieses Bild soll verlinkt sein auf "haus.html" und bei OnMouseOver "das-haus_over.gif" anstelle von "das-haus.gif" anzeigen. für OnMouseOut natürlich wieder "das-haus.gif".
nach diveresen Anleitungen (in denen es allerdings per <img> deklariert war) sollte es in etwa so aussehen. habe gehofft, dass es so auch mit <div> geht.
danke schonmal für jede Hilfe,
mfg Dietmar Schulz.
Hi,
also es existert erstmal ein Hintergrundbild (portal.jpg). Auf diesem wird dann per <div> das bild "das-haus.gif" aufgelegt.
nein. Auf den Hintergrund wir ein <div> gelegt, welcher seinerseits über ein Hintergrundbild verfügt. _Nirgendwo_ wurde ein Bild (ein Objekt) hingelegt. Was Du als Bilder siehst(!), sind Eigenschaften anderer Objekte. Entsprechend musst Du sie behandeln.
dieses Bild soll verlinkt sein auf "haus.html"
Warum verlinkst Du dann kein Bild?
nach diveresen Anleitungen (in denen es allerdings per <img> deklariert war)
Ja, überlege Dir mal, warum.
habe gehofft, dass es so auch mit <div> geht.
Du kannst auch das Hintergrundbild eines <div> ändern[1]. Was Du aber auf _keinen_ Fall kannst ist, ein <div> so zu verlinken, wie Du es getan hast.
Cheatah
[1] Übrigens würde CSS ohne jedwedes JavaScript ausreichen; einen halbwegs brauchbaren Browser vorausgesetzt.
Warum verlinkst Du dann kein Bild?
Du kannst auch das Hintergrundbild eines <div> ändern[1]. Was Du aber auf _keinen_ Fall kannst ist, ein <div> so zu verlinken, wie Du es getan hast.
die verlinkung ist kein Problem, denn die funktioniert erstaunlicherweise ;)
ich werde jetzt auf jeden fall mal "einfach" versuchen, die <div>s rauszunehmen und durch <img>s zu ersetzen, hoffe, dass das keine Probleme mit der Positionierung der Bilder aufwirft.
mfg Dietmar Schulz
Hallo Dietmar!
Wieso versuchst Du nicht etwas in der Art:
<body topmargin="0" leftmargin="0" background="Portal.jpg">
<div style="position:absolute; top:50px; left:50px; width:85px; height:85px;"><a href="haus.html"><img src="das-haus.gif" onMouseOver="this.src='das-haus_over.gif" onMouseOut="this.src='das-haus.gif"></a></div>
</body>
Ob's genau so klappt, kann ich nicht sagen, aber ich denke, der Ansatz ist schon mal gut ;-)
mfg
norbert =:-)
Und wieder einige Zeichen vergessen - naja - das Alter ;-)
<body topmargin="0" leftmargin="0" background="Portal.jpg">
<div style="position:absolute; top:50px; left:50px; width:85px; height:85px;"><a href="haus.html"><img src="das-haus.gif" onMouseOver="this.src='das-haus_over.gif';" onMouseOut="this.src='das-haus.gif';"></a></div>
</body>
mfg
norbert =:-)
gut, norbert, ich werde es mal so probieren ;)
danke
mfg Dietmar Schulz
fehlte nur noch border="0" und es geht :)
dankeschön nochmal und nix gegen alte menschen ;)
mfg Dietmar Schulz
Hi,
die verlinkung ist kein Problem, denn die funktioniert erstaunlicherweise ;)
nur weil Dein(!) Browser über eine umfangreiche Fehlerkorrektur verfügt, macht das die Sache weder besser noch richtiger. Die Verlinkung *ist* ein Problem, und zwar ein mächtiges.
Cheatah