在我的gwt中,我有一个像下面一样触发的按钮以创建新的小部件
@UiHandler("buttonfire")
void addNewWidget(ClickEvent event) {
htmlPanelHolder.add(new MyCustomWidget(),"placeholder");
}
如何使用jquery,以便当MyCustomWidget()在屏幕上显示时使用jquery的“淡入淡出”效果
我已经尝试将jsni放在新的MyCustomWidget()onload()内调用jquery,但是不起作用。可以指导我吗?
最佳答案
也可以在不使用jQuery的情况下创建淡入效果。如果要这样做,只需编写一个Animation类,如下所示:
public class FadeInAnimation extends Animation {
private final UIObject uiObject;
FadeInAnimation(final UIObject uiObject) {
this.uiObject = uiObject;
}
@Override
protected void onUpdate(final double progress) {
uiObject.getElement().getStyle().setOpacity(progress);
}
}
然后,您可以在任何小部件上使用它:
new FadeInAnimation(myWidget).run(5000);
注意:调用
getStyle().setOpacity(..)
甚至会处理特殊情况IE6 / 7,在此情况下它将设置style.filter = 'alpha(opacity=' + (value * 100) + ')';