使用jquery效果的gwt可能吗?

时间:2010-11-23 12:58:13

标签: java javascript jquery gwt uibinder

在我的gwt中,我有一个如下所示的按钮来创建新的小部件

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


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

 }

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

我已经尝试过将jsni调用到新的MyCustomWidget()onload()中调用jquery但是不起作用。可以指导我吗?

3 个答案:

答案 0 :(得分: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);
    }
}

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

new FadeInAnimation(myWidget).run(5000);

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

答案 1 :(得分:2)

您也可以尝试使用GQuery库:http://code.google.com/p/gwtquery/

答案 2 :(得分:2)