Ich würde gerne verblassen ein PopupPanel
in meine Seite. Ich kann das bekommen PopupPanel
element und animiere die opazität selbst, aber ich habe keinen zugriff auf das glaselement. dies ist nicht wirklich ein technisches problem, sondern eine einschränkung (würde ich sagen) auf was die PopupPanel
wählt aussetzen.
Kennt jemand einen Workaround oder eine Alternative? Vielen Dank!
Antworten:
1 für die Antwort № 1Lösung 1 - Zurückgestellte Bindungen
Probe - https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsDeferred#example Theorie - https://code.google.com/p/google-web-toolkit/wiki/DeferredBindingsForJRE
Lösung 2 - Hacking mit Java Classpath
Wenn Java auf doppelte Java-Dateien stößtPakethierarchie wählt es das aus dem Jar aus, das den anderen im Klassenpfad voraus ist. Wir verwenden diese Technik zum Überschreiben von Klassen gelegentlich, um zu ändern, was GWT-Klassen verfügbar machen möchten. Wir kopieren die PopupPanel Java-Dateien in unserer Codebasis im genauen Paket als GWT, d.h. com.google.gwt.user.client.ui.
Wir müssen sicherstellen, dass GWT Compiler unsere Version von sieht PopupPanel im Klassenpfad vor gwt-user.jar. Dies bedeutet, dass GWT Compiler unsere Version und nicht die von GWT aufnimmt.
Hinweis - Sie müssen sicherstellen, dass die PopupPanel-Java-Dateien mit jeder GWT-Version synchronisiert werden.
2 für die Antwort № 2
Grundsätzlich sehen alle Glasscheiben so aus
<div class="gwt-PopupPanelGlass" style="..."></div>
Wenn Sie dieses Element also wirklich brauchen, um es zu animieren, können Sie über jsni Folgendes tun:
elements = document.getElementsByClassName("gwt-PopupPanelGlass")
und ändern Sie danach den Elementstil wie gewünscht. Dies ist jedoch eine Art Problemumgehung, die Sie in verschiedenen Browsern testen müssen.