iTarget=-200px,为什么oDiv.offsetLeft=-190.5px就不执行if语句了

iTarget=-200px,为什么oDiv.offsetLeft=-190.5px就不执行if(oDiv.offsetLeft==iTarget){ clearInterval(timer); } else{ oDiv.style.left=oDiv.offsetLeft+speed+'px';}



<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>速度动画</title>

<style>

body,div,span{margin:0;padding: 0;}

#div1{width:200px;height: 200px;background-color: red;position: relative;left: -200px;top: 0px;}

#div1 span{width:20px;height: 50px;background-color: blue;position: absolute;left:200px;top:75px;}

</style>

<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');

timer=setInterval(function(){

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

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

if(oDiv.offsetLeft==iTarget){

clearInterval(timer);

}

else{

oDiv.style.left=oDiv.offsetLeft+speed+'px';}

},30)

}

</script>

</head>

<body>

<div id="div1"><span id="share">分享</span></div>

</body>

</html>


hnmw
浏览 1564回答 2
2回答

去看天荒地老

像素最低是1像素啊,怎能有.5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript