>  기사  >  웹 프론트엔드  >  原生javascript实现的一个简单动画

原生javascript实现的一个简单动画

WBOY
WBOY원래의
2016-06-01 09:54:531734검색
<code class="language-html"> 
 
 
<meta charset=" utf-8"> 

<title>javascript实现的简单动画</title>
<style type="text/css">
#mydiv
{
  width:50px;
  height:50px;
  background-color:green;
  position:absolute;
}
</style>
<script type="text/javascript"> 
window.onload=function()
{
  var mydiv=document.getElementById("mydiv");
  var start=document.getElementById("start");
  var stopmove=document.getElementById("stopmove");
  var x=0;
  var flag;
  function move()
  {
    x=x+1;
    mydiv.style.left=x+"px";
  }
  start.onclick=function()
  {
    clearInterval(flag);
    flag=setInterval(move,20);
  }
  stopmove.onclick=function()
  {
    clearInterval(flag);
  }
 
}
</script>

<input type="button" id="start" value="开始运动">
<input type="button" id="stopmove" value="停止运动">
<div id="mydiv"></div>

</code>

在线运行

代码解释:

  1. window.onload=function(){},当文档内容完全加载完毕再去执行函数中的代码。
  2. var mydiv=document.getElementById("mydiv"),获取id属性值为mydiv的元素。
  3. var start=document.getElementById("start"),获取id属性hi为start的元素。
  4. var stopmove=document.getElementById("stopmove"),获取id属性值为stopmove的元素。
  5. mydiv.style.left=x+"px",设置div的left属性值。
  6. start.onclick=function(){},为start元素注册onclick事件处理函数。
  7. clearInterval(flag),停止定时器函数,一方多次单击开始按钮造成叠加效果。
  8. flag=setInterval(move,20),开始运动。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.