请问哪里错了呢?为什么offsetleft=0的时候还不停呢?

来源:2-1 JS速度动画

qq_Desperado_19

2016-08-21 16:23

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<script>

window.onload=function(){

var rtt=document.getElementById("tt");

rtt.onmouseover=function(){

startmove();

}

}


function startmove(){

var timer=null;

var rtt=document.getElementById("tt");

timer = setInterval(function(){

if(rtt.offsetLeft == 0){

clearInterval(timer);

}

else{

rtt.style.left=rtt.offsetLeft+10+"px"

}

},30)

}

</script>

</head>


<body>

<div id="tt" style="width: 500px; height: auto; position: absolute; left: -468px; top: 217px;"><img src="tt.jpg" style="width:500px"></div>


</body>

</html>


写回答 关注

2回答

  • 小菜鸟飞
    2016-08-21 16:53:29
    已采纳

    我觉得,因为他根本到不了0,,你的left是-468,一次加10,等到了-8的时候在加10,就是2,也不是0,就继续循环了,,你把left改成-460试试 ,应该就可以了


    qq_Des...

    谢谢,,果然是这里 找了好久错误了!

    2016-08-21 17:00:43

    共 1 条回复 >

  • 小菜鸟飞
    2016-08-21 16:53:22

    我觉得,因为他根本到不了0,,你的left是-468,一次加10,等到了-8的时候在加10,就是2,也不是0,就继续循环了,,你把left改成-460试试 ,应该就可以了


JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题