JavaScript HTML DOM 动画

学习使用 JavaScript 来创建 HTML 动画。

基础页面

为了演示如何通过 JavaScript 来创建 HTML 动画,我们将使用一张简单的网页:

实例

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4.  
  5. <h1>我的第一部 JavaScript 动画</h1>
  6.  
  7. <div id="animation">我的动画在这里。</div>
  8.  
  9. </body>
  10. </html>

创建动画容器

所有动画都应该与容器元素关联。

实例

  1. <div id ="container">
  2. <div id ="animate">我的动画在这里。</div>
  3. </div>

为元素添加样式

应该通过 style = "position: relative" 创建容器元素。

应该通过 style = "position: absolute" 创建动画元素。

实例

  1. #container {
  2. width: 400px;
  3. height: 400px;
  4. position: relative;
  5. background: yellow;
  6. }
  7. #animate {
  8. width: 50px;
  9. height: 50px;
  10. position: absolute;
  11. background: red;
  12. }

动画代码

JavaScript 动画是通过对元素样式进行渐进式变化编程完成的。

这种变化通过一个计数器来调用。当计数器间隔很小时,动画看上去就是连贯的。

基础代码是:

实例

  1. var id = setInterval(frame, 5);
  2.  
  3. function frame() {
  4. if (/* 测试是否完成 */) {
  5. clearInterval(id);
  6. } else {
  7. /* 改变元素样式的代码 */
  8. }
  9. }

使用 JavaScript 创建动画

实例

  1. function myMove() {
  2. var elem = document.getElementById("animate");
  3. var pos = 0;
  4. var id = setInterval(frame, 5);
  5. function frame() {
  6. if (pos == 350) {
  7. clearInterval(id);
  8. } else {
  9. pos++;
  10. elem.style.top = pos + 'px';
  11. elem.style.left = pos + 'px';
  12. }
  13. }
  14. }