<!DOCTYPE html>

<html>

<head lang="en">

    <meta charset="UTF-8">

    <title></title>

    <style type="text/css">

        body{margin:0;padding:0;}

        div{width:100px;height:100px;background:red;position: absolute;left:0;}

        span{width:0;height:600px;position:fixed;left:600px;top:0;border-left:1px solid red;}

    </style>

</head>

<body>

<input type="button" value="buttons" onclick="startMove(600)"/>

<div></div>

<span></span>

</body>

</html>

<script type="text/javascript">

    var timer=null; //定时器需放在函数外面。避免每次调用都开启一个

    function startMove(iTarget)

    {

    var oDiv=document.getElementsByTagName("div")[0];

    clearInterval(timer);//移出全部的定时器,攻克了每次点击都开启一个定时器的问题

    timer=setInterval(function(){

        var Speed=Math.ceil((iTarget-oDiv.offsetLeft)/10);//解决



        if(oDiv.offsetLeft>=iTarget){clearInterval(timer);} //已经到达,匀速运动if里面的条件必须为>=

       else{oDiv.style.left=oDiv.offsetLeft+Speed+"px"; document.title=oDiv.style.left;}//未到达

    },30)



    }

</script>