为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我写的js动画老是一闪一闪的

为什么我写的js动画老是一闪一闪的

qq_冉冉盛启_03561018 2017-01-18 12:05:00
//定时器//刚进浏览器获取进行加载window.onload=function(){ var oDiv=document.getElementById("abc"); //鼠标移入 oDiv.onmouseover=function(){ startMove(0); } oDiv.onmouseout=function(){ startMove(-200); }}//定义startMove()函数var timer=null;function startMove(iTarget){ //刚进来把所有得定时器清除掉 clearInterval(); var oDiv=document.getElementById("abc"); //定时器 timer=setInterval(function(){ var speed=0; if(oDiv.offsetLeft>iTarget){ speed=-10; } else{ speed=10; } if(oDiv.offsetLeft==iTarget){ clearInterval(timer); } else{ oDiv.style.left=oDiv.offsetLeft+speed+'px'; } },30)}<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>js动画</title> <script type="text/javascript" src="js/js.js" ></script> <style> body,div,span{ margin: 0; padding: 0; } #abc{ width: 200px; height: 200px; background: red; position: relative; left: -200px; top: 0; } #abc span{ width: 20px; height: 50px; background: blue; position: absolute; left: 200px; top: 75px; color: #fff; } </style> </head> <body> <div id="abc"> <span id="share">分享</span> </div> </body></html>
查看完整描述

1 回答

?
慕数据5775487

TA贡献76条经验 获得超19个赞

你并没有清除掉计时器,clearInterval()内部要注明清除掉哪个计时器名称

clearInterval(timer);

这样就好了!

查看完整回答
反对 回复 2017-01-18
  • 1 回答
  • 0 关注
  • 1521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信