代码之家  ›  专栏  ›  技术社区  ›  cometta

gwt是否可以使用jquery效果?

  •  3
  • cometta  · 技术社区  · 15 年前

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

     @UiHandler("buttonfire")
      void addNewWidget(ClickEvent event) {
    
    
         htmlPanelHolder.add(new MyCustomWidget(),"placeholder");
    
     }
    

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

    我已经试过将jsni放入新的MyCustomWidget()onload()中调用jquery,但没有成功。能给我指点迷津吗?

    3 回复  |  直到 15 年前
        1
  •  11
  •   Chris Lercher    15 年前

    也可以在不使用jQuery的情况下创建淡入效果。如果你想这样做,只要写一个动画类如下:

    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) + ')';

        2
  •  2
  •   Carlos Tasada    15 年前

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

        3
  •  2
  •   jdramaix    15 年前