2010-04-14 58 views
4

我已经开始寻找一些externalGWT动画库,但他们都似乎有点矫枉过正我想要的。简单的GWT动画

我试图模仿JQuery Tools scrollabel插件在GWT中的滚动导航(想想iphone)。用户点击一个项目,页面滚动到该项目的子面板,该项目也可能包含可点击的子项目。

所有我需要做的是在一定的时间定息前后滑动像素的DIV,X号

唯一真正tutorial我已经在GWT编写动画发现2岁,似乎有点冗长,(管理个人框架等...)

是否没有简单的解决方案轻松地将一个div从一个位置移动到另一个位置,而不需要所有额外的信号?

原谅我,但我来自jQuery编码,这简单和轻松地内置此。

回答

4

GWT 2内置的Animation类很不错。所有你需要做的就是扩展类,实现onUpdate(),然后调用run()来启动动画。我没有使用过的scrollTop的属性,所以我不能保证这会工作的,但它应该给你的基本思路:

public class ScrollAnimation extends Animation { 
    private final Element e; 
    private int scrollStart; 
    private int scrollStop; 

    public ScrollAnimation(Element e) { 
     this.e = e; 
    } 

    public scrollTo(int position, int milliseconds) { 
     scrollStart = e.getPropertyInt("scrollTop"); 
     scrollStop = position; 
     run(milliseconds); 
    } 

    @Override 
    protected void onUpdate(double progress) { 
     int position = scrollStart + (int)(progress * (scrollStop - scrollStart)); 
     e.setPropertyInt("scrollTop", position); 
    } 
} 
+0

thx我会尝试一下,当我有机会。有一件事,你的构造函数被错误地命名。 – brad 2010-04-15 14:00:47

+0

确定这个“工程”,但看到我的下一篇文章,为什么这是不正确的工作:http://stackoverflow.com/questions/2669065/gwt-animation-final-value-is-not-respected – brad 2010-04-19 16:24:00