<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
<!--
*{
        margin:0px;
        padding:0px;
}
#move {
background-color: #06C;
height: 100px;
width: 100px;
position: absolute;
left:0px;
}
-->
</style>
</head><body>
<div id="move"></div>
<script type="text/javascript">
function $(elem)
{
return document.getElementById(elem);
}
var asd=$("move");
var change=400;
var begin=0;
var time=0;
var dur=10000;
var t=setInterval("tween(time,change,dur,begin)",1000);
function quad(time,change,dur,begin)
{
return Math.pow(time/dur,2)*change+begin;
}
function tween(time,change,dur,begin)
{
asd.style.left=quad(time,change,dur,begin)+"px";
time+=1000;
if(time>=dur)
   {
clearTimeout(t);
   }
}
</script>
</body>
</html>
到底是哪里有问题呢,搞了好久没发现问题,就是不动。求指点啊啊啊

解决方案 »

  1.   

    <body>
    <div id="move"></div>
    <script type="text/javascript">
    function $(elem) {
    return document.getElementById(elem);
    }
    var asd=$("move");
    var change=400;
    var begin=0;
    var time=0;
    var dur=10000;
    var t=setInterval("tween()",1000);
    function quad() {
    return Math.pow(time/dur,2) * change + begin;
    }
    function tween() {
    asd.style.left=quad()+"px";
    time += 1000;
    if(time>=dur) {
    clearTimeout(t);
    }
    }
    </script>
    </body>
      

  2.   

    变量使用的问题,照你原来的写法,在定义几个函数时使用的形参名字与全局变量同名,所以覆盖了函数外的全局变量,函数内实际上使用的是局部变量,全局变量time的值永远都不会改变,一直都是初始值0.
      

  3.   

    setInterval("tween(time,change,dur,begin)",1000);setInterval(function(){tween(time,change,dur,begin);},1000);
      

  4.   

    谢谢五楼了,呵呵,ok了,csdn发帖解决问题就是快啊