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

缓冲动画鼠标放上拿开反复6到7次以后程序执行就出问题,大家有没遇到这个问题

<script>

window.onload = function(){

var oDiv = document.getElementById("div1");

oDiv.onmouseover = function(){

startMove(0);

}

oDiv.onmouseout = function(){

startMove(-200);

}

}


var timer = null;

function startMove(iTarget){

clearInterval(timer);

var oDiv = document.getElementById("div1");

var speed = (iTarget-oDiv.offsetLeft)/20;

speed = speed>0?Math.ceil(speed):Math.floor(speed);

timer = setInterval(function(){

if(oDiv.offsetLeft==iTarget){

clearInterval(timer);

}

else{

oDiv.style.left = oDiv.offsetLeft+speed+"px";

}

},30)

}

  </script>


正在回答

2 回答

var oDiv = document.getElementById("div1");

var speed = (iTarget-oDiv.offsetLeft)/20;

speed = speed>0?Math.ceil(speed):Math.floor(speed);

把上面这一段代码写在定时器里面,每执行一次定时器speed的值就会改变一次,写在定时器外面就不会变化了

0 回复 有任何疑惑可以回复我~
#1

qq_怕什么山高水远_0

复制多了,没有第一行。。。
2016-03-14 回复 有任何疑惑可以回复我~
#2

碧霄中游 提问者

非常感谢!
2016-08-17 回复 有任何疑惑可以回复我~
#3

qq_要D大调_0

你好,为什么写在定时器外面就不会变化
2016-12-24 回复 有任何疑惑可以回复我~

同问啊,我的代码和老师写的一样,完全运动不起来啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113923    人
  • 解答问题       1443    个

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

进入课程

缓冲动画鼠标放上拿开反复6到7次以后程序执行就出问题,大家有没遇到这个问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信