PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rollover - Effekt



DHK
14.07.2005, 12:43
hi @ all,
ich möchte für eine webseite einen rollover-effekt für das menü einbinden.
dazu hab ich im head zunächst mal geschrieben:

<script language="javascript" type="text/javascript">
<!--
function tausch(was,over) {
if(document.images) {
if(over)
document.images[was].src=was+'_b.jpg';
else
document.images[was].src=was+'_a.jpg';
}
}
//-->
</script>
und danach hab ich den ersten link folgendermaßen gemacht:

<a href="startseite.html" target="_top" onmouseover="tausch('hews',true)" onmouseout="tausch('hews',false)"><img src="hews_a.jpg" border="0" name="hews"></a></img><br>
dieser link funzt schon mal. das gleiche wollte ich dann auch beim zweiten machen:

<a href="newsarchiv.html" target="textus" name="archiv" onmouseover="tausch('archiv',true)" onmouseout="tausch('archiv',false)"><img src="archiv_a.jpg" border="0"></a></img><br>
jedoch funzt der zweite link net (also funzen schon, aber es gibt keinen rollover-effekt): wo liegt mein fehler?

MfG

DHK

Tomarus
14.07.2005, 12:47
Nimm doch einfach die einfache Variante.


<a href="index.htm"><img alt="Home" onmouseout="this.src = 'home.gif';" onmouseover="this.src = 'home_hover.gif';" src="home.gif" /></a>

Die Hover-Bilder kannst du dann, wenn du willst, noch in einem unsichtbaren Iframe irgendwo einbinden, dann werden sie schon vorher geladen und es dauert nicht so lang beim Hovereffekt (wo sie dann andernfalls erst geladen werden müssten).

Aber in deinem Script liegt's wohl daran, dass du beim zweiten Bild das name-Attribut vergessen hast ;)

DHK
14.07.2005, 15:47
Also beim zweiten Link ist doch der name drin?

name='archiv'

und zu deinem beispiel: muss man dazu im head keine
<script language="javascript" type="text/javascript"></script> Angabe machen?

MfG

DHK

PS: du hast vergessen dein <img>-Tag zu schließen ;)

Tomarus
14.07.2005, 16:56
Also beim zweiten Link ist doch der name drin?

name='archiv'
Achso, ja, muss ja bei dem Ding in den Link >_>


und zu deinem beispiel: muss man dazu im head keine
<script language="javascript" type="text/javascript"></script> Angabe machen?
Nö.


PS: du hast vergessen dein <img>-Tag zu schließen ;)
Öhm ... nö?

Sweil
14.07.2005, 17:47
seit wann muss man den <img>-tags schließen, wäre mir neu?!?! oder ist das wieder so ein xhtml-scheiß :D:D

maximus888
14.07.2005, 21:59
er hat sicher was andres gemeint, img muss man nicht mit </img> schliessen, man kann ja auch nix dazwischen machen....

DHK
15.07.2005, 12:50
@all: wegen dem img-Tag: als ich HTML/CSS/JavaScript erlernte, hieß es, man solle so viel wie möglich XHTML-konform schreiben (für spätere zeiten). und ich habe eben gelernt dass ein img - Tag so aussieht:

<img src="x.jpg" name="x" width="x" heigth="x"></img>

und @Tomarus:

Die Hover-Bilder kannst du dann, wenn du willst, noch in einem unsichtbaren Iframe irgendwo einbinden, dann werden sie schon vorher geladen und es dauert nicht so lang beim Hovereffekt (wo sie dann andernfalls erst geladen werden müssten).

also ich denke das ist unnötig, da jedes Bild nur ca. 3-4 KB groß ist, das dürfte selbst mit 56K kein problem sein.
übrigens kann man dieses vorladen auch ohen frame machen für browser die keine frames interpretieren und zwar folgendermaßen:

Folgenden Code einfach zwischen das
<script></script> setzen:

function vorladen() {
var img
for (i=0;i<vorladen.arguments.length;i++)
img=new Image();
img.src=vorladen.arguments[i];
}
}


MfG

DHK