JavaScript HTML DOM 動畫

學習使用 JavaScript 來創建 HTML 動畫。

基礎頁面

為了演示如何通過 JavaScript 來創建 HTML 動畫,我們將使用一張簡單的網頁:

實例

<!DOCTYPE html>
<html>
<body>
<h1>我的第一部 JavaScript 動畫</h1>
<div id="animation">我的動畫在這里。</div>
</body>
</html>

創建動畫容器

所有動畫都應該與容器元素關聯。

實例

<div id ="container">
    <div id ="animate">我的動畫在這里。</div>
</div>

為元素添加樣式

應該通過 style = "position: relative" 創建容器元素。

應該通過 style = "position: absolute" 創建動畫元素。

實例

#container {
    width: 400px;
    height: 400px;
    position: relative;
    background: yellow;
}
#animate {
    width: 50px;
    height: 50px;
    position: absolute;
    background: red;
} 

親自試一試

動畫代碼

JavaScript 動畫是通過對元素樣式進行漸進式變化編程完成的。

這種變化通過一個計數器來調用。當計數器間隔很小時,動畫看上去就是連貫的。

基礎代碼是:

實例

var id = setInterval(frame, 5);
function frame() {
    if (/* 測試是否完成 */) {
        clearInterval(id);
    } else {
         /* 改變元素樣式的代碼 */
    }
} 

使用 JavaScript 創建動畫

實例

function myMove() {
    var elem =  document.getElementById("animate"); 
    var pos = 0;
    var id = setInterval(frame, 5);
     function frame() {
        if (pos ==  350) {
             clearInterval(id);
        } else {
             pos++; 
             elem.style.top = pos + 'px'; 
             elem.style.left = pos + 'px'; 
        }
     }
}

親自試一試