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 動畫是透過程式設計逐步改變元素的樣式來完成的。
這些改變是透過一個定時器呼叫的。當定時器間隔很小時,動畫看起來是連續的。
基本程式碼是
示例
id = setInterval(frame, 5);
function frame() {
if (/* 測試是否完成 */) {
clearInterval(id);
} else {
/* 改變元素樣式的程式碼 */
}
}
使用 JavaScript 建立完整的動畫
示例
function myMove() {
let id = null;
const elem = document.getElementById("animate");
let pos = 0;
clearInterval(id);
id = setInterval(frame, 5);
function frame() {
if (pos == 350) {
clearInterval(id);
} else {
pos++;
elem.style.top = pos + 'px';
elem.style.left = pos + 'px';
}
}
}
自己動手試一試 »