style.color = hover?
Matze
- javascript
Hallo liebes Forum!
Ich schlag mich mal wieder mit JavaScript und meinen Anfängerproblemen rum.
Ich habe 2 Links welche eine JavaScript-Funktion aufrufen.
Die Funktion bekommt eine Variable übergeben, damit ich weiß welcher Link gedrückt wurde.
Die Links haben als Textfarbe standardmässig rot, beim hover grün und wenn er aktiv ist dauerhaft grün.
Wenn Link 1 gedrückt wird, wird also die Textfarbe von Link 1 auf grün und die von Link 2 auf rot gesetzt. Dasselbe umgedreht.
Wenn ich mit JavaScript jetzt aber style.color einen Wert zuweise geht mein Hover-Effekt flöten.
Was kann ich dagegen tun?
Ich hoffe ich konnte mich verständlich ausdrücken.
Noch eine andere Kleinigkeit die mir grad einfällt.
Kann ich per JavaScript einen Link auch deaktivieren?
Bis jetzt kann ich Link 2 beliebig oft nacheinander drücken, das ergibt wenig Sinn.
Danke und Grüße, Matze
Hi,
Wenn ich mit JavaScript jetzt aber style.color einen Wert zuweise geht mein Hover-Effekt flöten.
Was kann ich dagegen tun?
darauf verzichten, Angaben, die in den CSS-Code gehören, mit JavaScript zu vermitteln. Du willst die Elemente offensichtlich klassifizieren.
Kann ich per JavaScript einen Link auch deaktivieren?
Kannst Du ihn mit HTML und/oder CSS statisch deaktivieren? Dann kannst Du es auch mit JavaScript dynamisch.
Cheatah
Hallo Cheatah!
darauf verzichten, Angaben, die in den CSS-Code gehören, mit JavaScript zu vermitteln. Du willst die Elemente offensichtlich klassifizieren.
Logisch. Manchmal macht man es sich unnötig kompliziert.
Jetzt aber die Frage, wie sprech ich die Klasse per JS an?
Folgender Code.
CSS:
.foo{color:green;}
JS:
document.getElementById('...').class = 'foo';
funktioniert nicht. Es gibt keinen Fehler in der Fehlerkonsole des FF aber grün wird auch nix :(
Kann ich per JavaScript einen Link auch deaktivieren?
Kannst Du ihn mit HTML und/oder CSS statisch deaktivieren? Dann kannst Du es auch mit JavaScript dynamisch.
Naja, bei einem Menü würde ich das a-Element der aktiven Seite einfach heraus nehmen. Im Normalfall per PHP.
Danke und Grüße, Matze
Hallo!
document.getElementById('...').class = 'foo';
funktioniert nicht. Es gibt keinen Fehler in der Fehlerkonsole des FF aber grün wird auch nix :(
Es muss bei JavaScript className heißen und nicht class.
Gruß, LX
Hallo LX!
document.getElementById('...').class = 'foo';
funktioniert nicht. Es gibt keinen Fehler in der Fehlerkonsole des FF aber grün wird auch nix :(
Es muss bei JavaScript className heißen und nicht class.
Danke sehr! Ich muss mir die abweichenden Bezeichnungen JS<>CSS mal merken.
Grüße, Matze
Hi,
Danke sehr! Ich muss mir die abweichenden Bezeichnungen JS<>CSS mal merken.
JS<>HTML in diesem Fall, bzw. genauer "jede beliebige, existierende, denk- und undenkbare Programmiersprache"<>HTML. Der Punkt ist hier, dass "class" in vielen Sprachen ein reservierter Begriff ist und somit nicht verwendet werden kann. Da DOM in (potenziell) jeder Sprache implementiert werden kann, scheidet "class" somit als Bezeichner aus.
Man merkt im IE bisweilen ähnliches mit einer hübschen, kleinen Eigenschaft namens "float" ...
Cheatah
Hi,
Kann ich per JavaScript einen Link auch deaktivieren?
Kannst Du ihn mit HTML und/oder CSS statisch deaktivieren? Dann kannst Du es auch mit JavaScript dynamisch.Naja, bei einem Menü würde ich das a-Element der aktiven Seite einfach heraus nehmen.
Das kannst du auch per JavaScript, per removeChild.
Ggf. moechtest du seinen Inhalt aber erhalten? Dann koenntest du zunaechst seine Kindelemente per appendChild umhaengen, bevor du ihn entfernst.
Oder du bringst der JS-Funktion einfach bei, sich zu "merken", dass der Link bereits geklickt wurde, und darauf hin "nichts" mehr zu machen.
MfG ChrisB