使用jquery效果的gwt可能吗?

com*_*tta 3 javascript java jquery gwt uibinder

在我的gwt中,我有一个像下面一样的按钮来创建新的小部件

 @UiHandler("buttonfire")
  void addNewWidget(ClickEvent event) {


     htmlPanelHolder.add(new MyCustomWidget(),"placeholder");

 }
Run Code Online (Sandbox Code Playgroud)

如何使用jquery以便当MyCustomWidget()在屏幕上显示时它使用jquery"fadein"效果

我已经尝试过让jsni在新的MyCustomWidget()onload()中调用jquery但是没有用.可以指导我吗?

Chr*_*her 11

也可以在不使用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);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以在任何小部件上使用它:

new FadeInAnimation(myWidget).run(5000);
Run Code Online (Sandbox Code Playgroud)

注意:调用getStyle().setOpacity(..)甚至可以处理IE6/7的特殊情况style.filter = 'alpha(opacity=' + (value * 100) + ')';