hover funktioniert nicht mehr???
Roger
- dhtml
Hallo! Ich habe hier folgendes Problem: Im linken Frame ist ein DHTML-Menü, im rechten Frame die Seiten, die über das Menü geladen werden. Ich benutze a.main:hover für MouseOver-Effekte im Menü. Der entsprechende Link für die im Moment geladene Seite soll farblich gekennzeichnet sein. a.main:active scheint nicht von allen gängigen Browsern unterstützt zu werden also mache ich beim Klick die style-Änderung selbst. Danach funktioniert aber hover nicht mehr ... warum? Vielen Dank und Grüsse aus der Schweiz -Roger
Hallo,
Ich benutze a.main:hover für MouseOver-Effekte im Menü. Der entsprechende Link für die im Moment geladene Seite soll farblich gekennzeichnet sein. a.main:active scheint nicht von allen gängigen Browsern unterstützt zu werden also mache ich beim Klick die style-Änderung selbst. Danach funktioniert aber hover nicht mehr ... warum?
1. zu ":active": Den Effekt, den der IE erzeugt, ist zwar in EINIGEN Fällen (z.B. Deinem) wünschenswert, aber entspricht NICHT dem W3C-Standard. Alle anderen Browser (Netscape alle Versionen, Konqi, Opera, etc.) machen's dagegen "richtig".
2. zur Style-Änderung: wie änderst du den Style? Tauscht Du das ganze Stylesheet aus, veränderst Du die Klasse des Links, veränderst Du bestimmte Stil-eigenschaften des Elements? Hast Du berücksichtigt, dass es z.B. 3 Methoden gibt, um die Stil-eigenschaften des Elements zu ändern (die DOM-Methode, die IE4-Methode und die NN4-Methode)? Poste doch mal einen minimalen Beispiel-Code.
Grüße,
Christian
hi,
- zu ":active": Den Effekt, den der IE erzeugt, ist zwar in EINIGEN Fällen (z.B. Deinem) wünschenswert, aber entspricht NICHT dem W3C-Standard. Alle anderen Browser (Netscape alle Versionen, Konqi, Opera, etc.) machen's dagegen "richtig".
das soll genau heißen?
Malte
Moin!
- zu ":active": Den Effekt, den der IE erzeugt, ist zwar in EINIGEN Fällen (z.B. Deinem) wünschenswert, aber entspricht NICHT dem W3C-Standard. Alle anderen Browser (Netscape alle Versionen, Konqi, Opera, etc.) machen's dagegen "richtig".
das soll genau heißen?
":active" ist der Link genau für die Zeit, in der beispielsweise die Maustaste auf ihm gedrückt gehalten wird. In der Regel also nur eine sehr kurze Zeit. Und deshalb ist die Definition von ":active" eigentlich auch ziemlich uninteressant, weil sie eben nur so kurze Zeit wirksam ist. Es ist eben nur ein kurzes Aufflackern. Und selbst im IE hat man davon ja meist nichts, denn die alte Seite mit dem aktiven Link verschwindet ja in der Regel und wird durch eine neue Seite ersetzt, die noch keine aktiven Links hat.
Daß der IE bei Framesets den ":active"-Status durch Loslassen der Maustaste nicht zurücksetzt, und daß er den Status ":visited" von Links auch erst dann den aktuellen Werten anpaßt, wenn die Seite neu geladen wird (ganz im Gegensatz zu z.B. Opera), ist einer der vielen Nachteile und/oder Standardabweichungen des IE.
- Sven Rautenberg
hi,
Daß der IE bei Framesets den ":active"-Status durch Loslassen der Maustaste nicht zurücksetzt, und daß er den Status ":visited" von Links auch erst dann den aktuellen Werten anpaßt, wenn die Seite neu geladen wird (ganz im Gegensatz zu z.B. Opera), ist einer der vielen Nachteile und/oder Standardabweichungen des IE.
ahja, das heißt also, dass dieser status sozusagen :focus ist?
Malte
Moin!
Daß der IE bei Framesets den ":active"-Status durch Loslassen der Maustaste nicht zurücksetzt, und daß er den Status ":visited" von Links auch erst dann den aktuellen Werten anpaßt, wenn die Seite neu geladen wird (ganz im Gegensatz zu z.B. Opera), ist einer der vielen Nachteile und/oder Standardabweichungen des IE.
ahja, das heißt also, dass dieser status sozusagen :focus ist?
Focus ist wieder was anderes. Und würde hier auch nicht so schrecklich viel helfen, weil der Focus durch anderswo klicken dem Link verloren geht. Focus kann immer nur ein Element haben.
- Sven Rautenberg
hi,
ahja, das heißt also, dass dieser status sozusagen :focus ist?
Focus ist wieder was anderes. Und würde hier auch nicht so schrecklich viel helfen, weil der Focus durch anderswo klicken dem Link verloren geht. Focus kann immer nur ein Element haben.
aber was der IE da macht, geht ja mit dem klicken auf ein anderes element verloren... *verwirrt bin*
Malte
Hallo und danke erstmals! Ich denke, ich habe das Problem gefunden: Zum Beispiel beim IE: Beim onClick auf den Link verände ich die Farbe über this.style.color='red'. Beim onClick auf einen anderen Link änderte ich die Farbe zurück: document.getElementById(id).style.color='black'. Und dann funktionierte hover nicht mehr. Wenn ich nun aber statt 'black' einen leeren String '' zuweise, funktioniert hover wieder! Toll nicht? Grüsse -Roger
Hallo,
Ich benutze a.main:hover für MouseOver-Effekte im Menü. Der entsprechende Link für die im Moment geladene Seite soll farblich gekennzeichnet sein. a.main:active scheint nicht von allen gängigen Browsern unterstützt zu werden also mache ich beim Klick die style-Änderung selbst. Danach funktioniert aber hover nicht mehr ... warum?
- zu ":active": Den Effekt, den der IE erzeugt, ist zwar in EINIGEN Fällen (z.B. Deinem) wünschenswert, aber entspricht NICHT dem W3C-Standard. Alle anderen Browser (Netscape alle Versionen, Konqi, Opera, etc.) machen's dagegen "richtig".
- zur Style-Änderung: wie änderst du den Style? Tauscht Du das ganze Stylesheet aus, veränderst Du die Klasse des Links, veränderst Du bestimmte Stil-eigenschaften des Elements? Hast Du berücksichtigt, dass es z.B. 3 Methoden gibt, um die Stil-eigenschaften des Elements zu ändern (die DOM-Methode, die IE4-Methode und die NN4-Methode)? Poste doch mal einen minimalen Beispiel-Code.
Grüße,
Christian
hi
Hallo und danke erstmals! Ich denke, ich habe das Problem gefunden: Zum Beispiel beim IE: Beim onClick auf den Link verände ich die Farbe über this.style.color='red'. Beim onClick auf einen anderen Link änderte ich die Farbe zurück: document.getElementById(id).style.color='black'. Und dann funktionierte hover nicht mehr. Wenn ich nun aber statt 'black' einen leeren String '' zuweise, funktioniert hover wieder! Toll nicht? Grüsse -Roger
ich würde mal so vermuten, dass die über ID zugewiesene Farbe für CSS eine höhere priorität hat, als die nur über das Tag definierte :hover-Funktion. Versuch mal in der CSS a:hover{color:red !important;} o.ä.
Grüße aus Bleckede
Kai