2010-11-07 73 views
3

我有興趣使用傳統的javascript(無框架)和canvas創建各種類型的javascript動畫。我的問題是任何人都可以向我提供有用的資源(書籍/網站等)。我知道很多框架已經存在,但我的學習對象是理解核心語言。使用本機javascript創建動畫

+0

@neitony如果您想了解語言的核心,得到了ECMAScript規範。動畫不是核心語言的一部分。即使setTimeout也不是核心語言的一部分。 – 2010-11-07 14:39:08

+0

@Sime - 在這個語句中混淆了一下,語言是ECMAScript的*實現*,它不是嚴格地綁定到它,它還可以有其他功能 - 例如Mozilla維護的JavaScript規範。另外,* no * DOM元素或方法是JavaScript(這是一種語言,而不是對象模型)的一部分,所以這是相關的,但真的是一個完全不同的領域。 – 2010-11-07 14:48:56

+0

@Nick該語言是ECMAScript的一個實現? ECMAScript不是語言嗎?實現就是這樣 - 實現。我們可以說每個瀏覽器都定義了一種語言的方言,但是隻有一種「核心語言」(這是來自OP的引用),那就是ECMAScript。 – 2010-11-07 15:00:03

回答

1

動畫基本上是一個屬性隨時間變化。要達到此目的,請使用setInterval以確保更改生效逐漸。在每一步中,計算一個屬性的當前值在兩個值之間插值,考慮經過的時間。作爲最終的觸摸,您可以將緩動添加到您的動畫中,以使狀態之間的過渡看起來平滑。動畫隊列也可以添加。

推薦 - Roll Your Own Effects Framework由托馬斯·福克斯

0

有一個plethora of articles discussing this,在intertubes上可用。

一個關鍵技術是使用setTimeout()逐步修改項目的不透明度。這基本上是jquery UI - 您提到的框架之一 - 實現動畫,淡入淡出,滑出等。

+0

有人不喜歡我的回答?我猜是太容易了? – Cheeso 2010-11-07 16:03:31