Hi,
ich habe mir ein kleines Menü geschrieben, dass langsam eingeblendet wird, wenn man mit der Maus über einen Button fährt.
Zum Einblenden verwende ich:
object.style.opacity = opacity / 100;
object.style.filter = 'alpha(opacity=' + opacity + ')'; //IE
Opacity ist eine steigende Zahl von 0 bis 100 (es wird also 101 mal eine Funktion aufgerufen, die die Opacity verändert).
Die zweite Zeile ist für den Internet Explorer, wodurch auch dieser das Menü richtig einblendet.
Allerdings ignoriert der IE nach einer solchen Veränderung der Opacity die CSS-Hover-Eigenschaften. Bspw. sollen die Links im Menü beim Hover einen anderen Hintergrund bekommen:
menulink:hover { background-color:blue; }
Das funktioniert im Internet Explorer nicht mehr, sobald die Opacity zum letzten Mal verändert wurde - die Hintergundfarbe der Links verändert sich nicht mehr.
Nach dem letzten Mal bedeutet: *Während* das Menü eingeblendet wird, ist dieser Fehler nicht sichtbar. Denn wenn man mit der Maus über einen Link fährt, wird der CSS-Hover-Effekt übernommen, sobald das nächste Mal die Opacity geändert wird (was in wenigen Millisekunden stattfindet - also fällt nichts auf).
Wie lässt sich das Problem beheben?