我想淡入我的PopupPanel
页面。我可以自己获取PopupPanel
元素并为不透明度设置动画,但我无法访问玻璃元素。PopupPanel
这并不是一个真正的技术问题,而是对选择暴露的内容的限制(我会说) 。
有谁知道解决方法或替代方法?谢谢!
基本上所有的玻璃面板看起来都像
<div class="gwt-PopupPanelGlass" style="..."></div>
因此,如果您真的需要获取此元素并为其设置动画,您可以通过 jsni 执行以下操作:
elements = document.getElementsByClassName("gwt-PopupPanelGlass")
然后像你想要的那样改变元素样式。但这是某种解决方法,您需要在各种浏览器上进行测试。
示例- https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsDeferred#example 理论- https://code.google.com/p/google-web-toolkit/wiki/DeferredBindingsForJRE
当 java 在同一包层次结构中遇到重复的 java 文件时,它会从 jar 中选择一个在类路径中领先于其他的 java 文件。我们在某些情况下使用这种类覆盖技术来改变 GWT 类选择公开的内容。我们将PopupPanel java 文件复制到我们的代码库中,以 GWT 的确切包形式,即com.google.gwt.user.client.ui。
我们需要确保 GWT 编译器在 gwt-user.jar 之前的类路径中看到我们的PopupPanel版本。这意味着 GWT 编译器选择我们的版本,而不是 gwt 的!!!您可以继续编辑 PopupPanels 属性/方法范围,从私有到更高。
注意 -您需要确保 PopupPanel java 文件同步到每个 GWT 版本。