Größere Probleme mit Firefox/Mozilla und Rollover
user702
- javascript
Habe ein Problem mit folgender seite
http://www.id702.de/test/
Das onmouseover / onmouseout zum einblenden der Menüs funktioniert unter IE ohne Probleme. Bei Firefox / Mozilla flackert das Ganze beim ein/ausblenden der einzelnen Untermenüs. Irgendwie scheint es da noch ein unsichtbaren Bereich um die Objekte zu geben, wo Firefox/Mozilla meinen, sie müssten jetzt ein onmouseout durchführen.
Kann jemand überprüfen, ob diese Problem auch unter Mac/IE MAC/Safari auch besteht?
Nachdem all meine Versuche gescheitert sind, hoffe ich nun, vieleicht da einen Tipp oder Antwort zu bekommen.
Schonmal vielen Dank für die Antworten
Guten Tag,
ich kenne das Problem; es tritt bei mir jedoch nur an den Rändern eines Objektes auf. Wenn nun zwei Objekte mit dem gleichen Zeigerfokuseffekt untereinander liegen, dann führt die teilweise sehr schnelle Anzeige im Firefox dazu, dass es beim Überfahren des Randbereiches leicht flimmert.
Der MS IE ist vielleicht einfach zu langsam dafür.
Beim Menschen ist es ähnlich: Haut man einem trägen Menschen zweimal kurz hintereinander auf die Finger, so schreit er nur einmal; ein reaktionschneller ruft zweimal au.
Mit Gruß
Dada
Das hat nix mit Schnelligkeit zu tun. Passiert auch, wenn ich ganz langsam navigiere.
Das hat nix mit Schnelligkeit zu tun. Passiert auch, wenn ich ganz langsam navigiere.
Ich habe geschrieben, dass Firefox schnell ist. Man muss somit schneller über die Objektgrenzen fahren, als FF reagieren kann - dann flimmert es nicht. MS IE ist (ich habe keinen) offenbar träger, da flackert es auch beim alten Opa nicht.
Dada
Hi,
Beim Menschen ist es ähnlich: Haut man einem trägen Menschen zweimal kurz hintereinander auf die Finger, so schreit er nur einmal; ein reaktionschneller ruft zweimal au.
Nö, ein wirklich reaktionsschneller haut nach dem ersten Mal zurück, noch bevor Du überhaupt Gelegenheit hast, ein zweites Mal zuzuschlagen. ;-)
cu,
Andreas
Das onmouseover / onmouseout zum einblenden der Menüs funktioniert unter IE ohne Probleme. Bei Firefox / Mozilla flackert das Ganze beim ein/ausblenden der einzelnen Untermenüs. Irgendwie scheint es da noch ein unsichtbaren Bereich um die Objekte zu geben, wo Firefox/Mozilla meinen, sie müssten jetzt ein onmouseout durchführen.
Naja, helfen wüprde wahrscheinlich eine kleine Pause beim ausblenden.
Du kannst aber den Code noch optimieren (wobei dann flacktert es vielleicht auch beim IE):
for(var i = 1; i <= 3; i++)
{
window.document.images['pix_m' + i].src =
window['pix_m' + (i == param ? 'On' : '' ) + i].src;
window.document.getElementById('menu_m' + i).style.display =
i == param ? 'block' : 'none';
}
this ist in dem Kontext zwar nicht falsch, ich würde es aber nicht verwenden, da es u.U. verwirren kann, wenn du irgendwann mit Objekten Arbeitest. eval ist sowieso ein Performance Killer und so gut wie nie notwendig.
Struppi.
Danke für die Optimierung.
Das Problem ist zwar dadurch nicht gelöst, der Code sieht aber schon besser aus. Das mit der Verzögerung hatte ich auch überlegt, weiss aber nicht, an welche Stelle ich es einbauen soll. Wenn ich eine Verzögerung einbaue bewirkt das lediglich, das die Funktion etwas später ausgeführt wird, sie wird aber auf jeden Fall ausgeführt.
Hast du eine Idee?
Hast du eine Idee?
In etwas so:
du musst beim mouseout eine Timeout aufrufen, der erst nach ein paar ms (ausprobieren wie lange) die Änderungen macht und gleichzeitig bei einem mouseover diesen wieder Timer stoppen.
Struppi.