JavaScript HTML DOM 动画
内容摘要
学习使用 JavaScript 来创建 HTML 动画。
文章正文
学习使用 JavaScript 来创建 HTML 动画。
基础页面
为了演示如何通过 JavaScript 来创建 HTML 动画,我们将使用一张简单的网页:
实例
1 2 3 4 5 6 7 8 9 10 | <!DOCTYPE html> <html> <body> <h1>我的第一部 JavaScript 动画</h1> <div id= "animation" >我的动画在这里。</div> </body> </html> |
创建动画容器
所有动画都应该与容器元素关联。
实例
1 2 3 | <div id = "container" > <div id = "animate" >我的动画在这里。</div> </div> |
为元素添加样式
应该通过 style = "position: relative" 创建容器元素。
应该通过 style = "position: absolute" 创建动画元素。
实例
1 2 3 4 5 6 7 8 9 10 11 12 | #container { width: 400px; height: 400px; position: relative; background: yellow; } #animate { width: 50px; height: 50px; position: absolute; background: red; } |
动画代码
JavaScript 动画是通过对元素样式进行渐进式变化编程完成的。
这种变化通过一个计数器来调用。当计数器间隔很小时,动画看上去就是连贯的。
基础代码是:
实例
1 2 3 4 5 6 7 8 9 | var id = setInterval(frame, 5); function frame() { if ( /* 测试是否完成 */ ) { clearInterval(id); } else { /* 改变元素样式的代码 */ } } |
使用 JavaScript 创建动画
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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' ; } } } |
代码注释