2010-04-14 160 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