Flex 4 Bild ändern bei mouseover - mouseout-Funktion schlägt fehl, wenn ich mouseover schnell?
Habe ich eine grundlegende mouseover in meine flex-Anwendung, welche änderungen ein Bild, onmouseover und ändert es wieder onmouseout verwenden Sie den code mouseOver="functionToChangeImageSource()"
und andere zu mouseout.
Es funktioniert, wenn Sie langsam mit der Maus über die und aus, aber wenn ich schnell bewegen Sie die Maus über Sie, es gelegentlich bleibt der mouseover-Bild und die mouseout-Funktion nicht erscheint, um kick in. Gibt es irgendetwas, was ich tun kann, um dieses Problem zu lösen, oder hat jemand irgendwelche Ideen, warum Ihr passiert?
Außerdem habe ich versucht die rollOver und rollOut statt, aber es hat das gleiche problem.
Code ist wie folgt (ich wechselte ihn ein-und ausblenden, die zwei Bilder auf der mouseover/out zu sehen, ob es das problem gelöst, aber es nicht):
<mx:Image source="images/logout.jpg"
left="0"
top="350"
top.dataViewState="470"
id="logoutimg"
includeIn="dataViewState, dataDayViewState"
rollOver="logoutimg_mouseOverHandler(event)"
click="doLogout()"
/>
<mx:Image source="images/logoutover.jpg"
left="0"
top="350"
top.dataViewState="470"
id="logoutoverimg"
includeIn="dataViewState, dataDayViewState"
rollOut="logoutoverimg_mouseOutHandler(event)"
visible="false"
click="doLogout()" />
Und die Funktionen sind wie folgt:
protected function logoutimg_mouseOverHandler(event:MouseEvent):void
{
logoutimg.visible = false;
logoutoverimg.visible = true;
}
protected function logoutoverimg_mouseOutHandler(event:MouseEvent):void
{
logoutoverimg.visible = false;
logoutimg.visible = true;
}
Würde ich mir vorstellen, Sie sind richtig über die mouseover-Ereignis nicht abschließen, bevor mouseout ist aber, wie ich dieses Problem beheben?
- Zeig uns deinen code und/oder einen link zu einem Laufenden Beispiel. Höchstwahrscheinlich werden Sie die Maus vor dem "Maus" - Aktion ist abgeschlossen.
- Finden Sie in den aktualisierten Bearbeitungen mit code - danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie besser mit dieser einen Zeile code
Ich vermute, es ist ein problem, mit würde für die hf zum Zeitpunkt der über - /out-je nachdem, wie schnell blinken und schaltet die Sichtbarkeit.
Aber das größte problem hier ist, du machst es falsch.
Brauchen Sie nicht 2 Bilder, habe nur ein Bild, und ändern Sie das Attribut Quelle:
Edit: Wenn Sie sehen, ein flackern, versuchen Sie die embed syntax. Sie könnte es auch tun, mit Flex-Css und hover-Attributen, denke ich (kein code erforderlich).
Wir haben vor kurzem laufen in das gleiche Problem und die einzige wirkliche Lösung scheint es zu sein, ersetzen Sie die Bilder mit einer Schaltfläche und änderung seiner nach oben, unten, über und deaktiviert skins für die embedded-Versionen von den Bildern.
Wenn Sie nur
mouseUp
undmouseDown
, das einzige problem wird sein, wenn der Benutzer klickt unten auf das Bild, dann mit der Maus noch hin, die Maus bewegt sich eindeutig Weg von der Bild. In diesem Fall, das Bild bleibt in dermouseDown
version. Um dies zu beheben, müssen Sie auch um einerollOut
Bedingung, dass wieder das mouseUp-Bild. Nun, alle Grundlagen abgedeckt sind.