Underline ändern bei onmouseover
tomtom
- javascript
Hallo,
ich bin noch ziemlich neu im Bereich JavaScript und habe ein Problem, mit dem ich nicht fertig werde.
Und zwar habe ich eine Liste von Links bei denen sich ein bestimmtest Bild und der Text ändern soll, wenn die Mouse darüber fährt.
Das ganze klappt 100%ig in Firefox, doch im IE (v6) funktioniert das mit dem underline nicht.
Ich bin schon seit 30 Minuten auf der Suche nach einer Lösung.
Hoffe jemand kann mir helfen.
Danke :)
function Passwort_Hover()
{
document.images['Passwort_Image'].src='images/symbols/arrow2.png';
Passwort_Text = document.getElementById("Passwort_Text");
Passwort_Text.style.textDecoration="underline";
}
function Passwort_NoHover()
{
document.images['Passwort_Image'].src='images/symbols/arrow.png';
Passwort_Text = document.getElementById("Passwort_Text");
Passwort_Text.style.textDecoration="none";
}
Hi,
Und zwar habe ich eine Liste von Links bei denen sich ein bestimmtest Bild und der Text ändern soll, wenn die Mouse darüber fährt.
Das ganze klappt 100%ig in Firefox, doch im IE (v6) funktioniert das mit dem underline nicht.
Ich bin schon seit 30 Minuten auf der Suche nach einer Lösung.
Ich möchte nicht so lange nach genügend brauchbaren Hintergrundinfos suchen, deshalb ersuche ich dich, diese zu liefern - im Script selber sehe ich keine offensichtlichen Fehler (von der Verwendung globaler Variablen vielleicht mal abgesehen), deshalb wäre auch das drumherum (HTML, etc.) wissenswert. Online-Beispiel bevorzugt.
MfG ChrisB
Danke für deine Antwort.
Ich habe die Liste mal in eine einfach php-datei geladen und dir dein Online-Beispiel zurecht gebaut. Hier ist es:
http://b4ttl3m4st3r.homeip.net/liste/
Die PNG-Dateien, die bei mir im IE nicht richtig angezeigt werden, lass ich hier mal außer Acht.
Es würde mich freuen, wenn du nochmal auf mein Problem eingehst und mir bei der Suche des Fehlers hilfst.
Hi,
Ich habe die Liste mal in eine einfach php-datei geladen und dir dein Online-Beispiel zurecht gebaut. Hier ist es:
http://b4ttl3m4st3r.homeip.net/liste/
Da meldet mir jeder Browser haufenweise JavaScript-Fehler.
Wieso greifst du bspw. auf JS-Variablen wie Freischalten_Text etc. zu, die du nirgends vorher definiert hast?
Und was du hier überhaupt mit JavaScript willst, kann ich auch nicht erkennen.
Die Bilder sind kein Inhalt, sondern blosse Verzierungen, sollten also als Hintergrundbilder untergebracht werden.
Und als solche lassen sie sich ebenso wie die text-decoration auch bei :hover auswechseln, also kaum ein Grund vorhanden, dafür überhaupt JavaScript einzusetzen.
MfG ChrisB
Wieso greifst du bspw. auf JS-Variablen wie Freischalten_Text etc. zu, die du nirgends vorher definiert hast?
Freischalten_Text = document.getElementById("Freischalten_Text");
ist das etwa keine Definition von Variablen?
Und was du hier überhaupt mit JavaScript willst, kann ich auch nicht erkennen.
Die Bilder sind kein Inhalt, sondern blosse Verzierungen, sollten also als Hintergrundbilder untergebracht werden.
Und als solche lassen sie sich ebenso wie die text-decoration auch bei :hover auswechseln, also kaum ein Grund vorhanden, dafür überhaupt JavaScript einzusetzen.
Im Grunde geht es darum, dass die Hover-Effekte nur eintreten, wenn JavaScript aktiviert ist, da die Links später einen JavaScript-Befehl abarbeiten.
greez
tomtom
Hi,
Wieso greifst du bspw. auf JS-Variablen wie Freischalten_Text etc. zu, die du nirgends vorher definiert hast?
Freischalten_Text = document.getElementById("Freischalten_Text");
ist das etwa keine Definition von Variablen?
Oh, da hab ich was übersehen.
FireBug hat mir soeben aber noch einen anderen Fehler gemeldet, "passwort" nicht definiert oder sowas, tut er jetzt aber nicht mehr. Hast du noch was dran geändert?
Im Grunde geht es darum, dass die Hover-Effekte nur eintreten, wenn JavaScript aktiviert ist, da die Links später einen JavaScript-Befehl abarbeiten.
Warum sind sie dann überhaupt vorhanden, wenn JavaScript nicht aktiviert ist?
Anyway, dann würde ich einfach auf einem Vorfahrenelement mittels JavaScript eine Klasse setzen, und die Hover-Effekte per Nachfahrenselektor davon abhängig machen.
MfG ChrisB
Oh, da hab ich was übersehen.
Kann passieren ;-), Danke
FireBug hat mir soeben aber noch einen anderen Fehler gemeldet, "passwort" nicht definiert oder sowas, tut er jetzt aber nicht mehr. Hast du noch was dran geändert?
Geändert habe ich nichts
Warum sind sie dann überhaupt vorhanden, wenn JavaScript nicht aktiviert ist?
»»
Bei mir (Firefox v2.0 & IE v6) werden die HoverEffekte (bis auf pointer) jedenfalls NICHT angezeigt, wenn javaScript ausgeschaltet ist.
Anyway, dann würde ich einfach auf einem Vorfahrenelement mittels JavaScript eine Klasse setzen, und die Hover-Effekte per Nachfahrenselektor davon abhängig machen.
»»
Hier verstehe ich nur Bahnhof, was gewiss an mir liegt, denn ich habe mit JavaScript erst begonnen und demnach keinen blassen Schimmer, wie man hier Klassen setzt oder auf Nachfahrenselektroren zugreift. In CSS wär dies allerdings kein Problem. :o
Trotzdem Danke für die Hilfe ;)
tomtom
Hi,
Anyway, dann würde ich einfach auf einem Vorfahrenelement mittels JavaScript eine Klasse setzen, und die Hover-Effekte per Nachfahrenselektor davon abhängig machen.
Hier verstehe ich nur Bahnhof, was gewiss an mir liegt, denn ich habe mit JavaScript erst begonnen und demnach keinen blassen Schimmer, wie man hier Klassen setzt
In dem man der className-Eigenschaft eines Elements einen Wert zuweist.
oder auf Nachfahrenselektroren zugreift.
Sollst du ja auch nicht, nicht mit JavaScript.
In CSS wär dies allerdings kein Problem.
Eben, und da spielt sich ja der Hauptteil meines Vorschlages ab.
Du hast bestimmte Regeln, die einem Element einen Hover-Effekt verpassen. Den soll es aber nur bekommen, wenn JavaScript auch aktiv ist.
Also erweiterst du den Selektor deiner Regel so, dass er unter Verwendung des Nachfahrenselektors nur dann zutrifft, wenn ein Vorfahrenelement eine bestimmte Klasse hat. Diese hat es nicht von vornherein im HTML, sondern du setzt sie erst per JavaScript - dann trifft der Selektor erst dann zu, also gibt's ohne JS auch keinen Hover-Effekt.
MfG ChrisB