如何创建:JavaScript HTML 动画

学习如何使用 JavaScript 创建动画。

亲自试一试

一张基本的网页

为了演示如何使用 JavaScript 创建 HTML 动画,我们可以使用一个简单的网页。

实例

<!DOCTYPE html>
<html>
<body>

<h1>My First JavaScript Animation</h1>

<div id="myContainer">
    <div id="myAnimation">My animation will go here</div>
</div>

</body>
<html>

亲自试一试

设置元素的样式

为了使动画成为可能,动画元素必须相对于一个“父容器”进行动画处理。

容器元素应使用 style="position: relative" 创建。

动画元素应使用 style="position: absolute" 创建。

实例

#myContainer {
  width: 400px;
  height: 400px;
  position: relative;
  background: yellow;
}

#myAnimation {
  width: 50px;
  height: 50px;
  position: absolute;
  background: red;
}

亲自试一试

动画代码

JavaScript 动画通过编程逐渐改变元素的样式来实现。

这些变化是由计时器调用的。当计时器间隔很小时,动画看起来是连续的。

基本代码是:

实例

var id = setInterval(frame, 5);

function frame() {
  if (/* test for finished */) {
    clearInterval(id);
  } else {
    /* 改变元素样式的代码 */ 
  }
}

使用 JavaScript 创建动画

实例

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

亲自试一试