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';
- }
- }
- }