不明白哪里出错了 
注释掉的部分是可以正常运行的
/////////////////////////////之间的会有问题
各位大虾子  指教下吧!~~~~
<body>
<div id='jilu1'></div>
<div id='jilu2'></div>
<div id='s' style=" height:20px; width:20px; background-color:#000000; position:absolute;"></div>
<script>
var Tween = {    Elastic: {
        easeOut: function(t,b,c,d,a,p){
            if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
            if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
        }
    }
}function $(Id){return document.getElementById(Id)}
var time = null;
/*var d=250,t=0;
var x1=10,y1=10,x2=500,y2=400;
var c1 = x2-x1,c2=y2-y1;
function Run(){
    $('s').style.left = Math.ceil(Tween.Elastic.easeOut(t,x1,c1,d)) + "px";
    $('s').style.top = Math.ceil(Tween.Elastic.easeOut(t,y1,c2,d)) + "px";
    $('jilu1').innerHTML = 'div的X    '+$('s').style.left+"<br>div的Y    "+$('s').style.top;
    if(t<d){ t++; setTimeout(Run, 10); }
};
Run();*/
/////////////////////////////////////////////////////////////////////////////
var t=0,x1,x2,c1,c2,y1,y2,d=250;
document.onclick=function(event){
var e = event||window.event;
x1= $('s').style.left||0,y1= $('s').style.top||0,x2=parseInt(e.clientX),y2=parseInt(e.clientY);
c1 =x2-x1,c2=y2-y1; time = setInterval(function(){
    $('s').style.left = Math.ceil(Tween.Elastic.easeOut(t,x1,c1,d)) + "px";
$('s').style.top = Math.ceil(Tween.Elastic.easeOut(t,y1,c2,d))+"px";
//$('jilu1').innerHTML = 'div的X    '+$('s').style.left+"<br>div的Y    "+$('s').style.top;
$('jilu2').innerHTML = $('jilu2').innerHTML+'#'
},10)
}
//////////////////////////////////////////////////////////////////////////////////
</script>
</body>

解决方案 »

  1.   

        x1= parseInt($('s').style.left)||0,y1= parseInt($('s').style.top)||0,x2=parseInt(e.clientX),y2=parseInt(e.clientY);
      

  2.   


    <body>
    不明白哪里出错了 
    注释掉的部分是可以正常运行的 
    /////////////////////////////之间的会有问题 
    各位大虾子  指教下吧!~~~~ <div id='jilu1'></div>
    <div id='jilu2'></div>
    <div id='s' style=" height:20px; width:20px; background-color:#000000; position:absolute;"></div>
    <script>
    var Tween = {    Elastic: {
            easeOut: function(t,b,c,d,a,p){
                if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
                if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
                else var s = p/(2*Math.PI) * Math.asin (c/a);
                return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
            }
        }
    }function $(Id){return document.getElementById(Id)}
    var time = null;
    /**/
    var d=250,t=0;
    var x1=10,y1=10,x2=500,y2=400;
    var c1 = x2-x1,c2=y2-y1;
    function Run(){
        $('s').style.left = Math.ceil(Tween.Elastic.easeOut(t,x1,c1,d)) + "px";
        $('s').style.top = Math.ceil(Tween.Elastic.easeOut(t,y1,c2,d)) + "px";
        $('jilu1').innerHTML = 'div的X    '+$('s').style.left+"<br>div的Y    "+$('s').style.top;
        if(t<d){ t++; setTimeout(Run, 10); }
    };
    Run();/**/
    /////////////////////////////////////////////////////////////////////////////
    var t=0,x1,x2,c1,c2,y1,y2,d=250;
    document.onclick=function(event){
        var e = event||window.event;
        x1= parseInt($('s').style.left)||0,y1= parseInt($('s').style.top)||0,x2=parseInt(e.clientX),y2=parseInt(e.clientY);
        c1 =x2-x1,c2=y2-y1;    time = setInterval(function(){
            $('s').style.left = Math.ceil(Tween.Elastic.easeOut(t,x1,c1,d)) + "px";
            $('s').style.top = Math.ceil(Tween.Elastic.easeOut(t,y1,c2,d))+"px";
            //$('jilu1').innerHTML = 'div的X    '+$('s').style.left+"<br>div的Y    "+$('s').style.top;
            $('jilu2').innerHTML = $('jilu2').innerHTML+'#'
        },10)
    }
    //////////////////////////////////////////////////////////////////////////////////
    </script>
    </body>
      

  3.   

    前面主要错在没有t++,给left 和top家个转换更好了
    <body>
    <div id='jilu1'></div>
    <div id='jilu2'></div>
    <div id='s' style=" height:20px; width:20px; background-color:#000000; position:absolute;"></div>
    <script>
    /////////////////////////////////////////////////////////////////////////////
    var Tween = {    Elastic: {
            easeOut: function(t,b,c,d,a,p){
                if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
                if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
                else var s = p/(2*Math.PI) * Math.asin (c/a);
                return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
            }
        }
    }
    /////////////////////////////////////////////////////////////////////////////
    function $(Id){return document.getElementById(Id)}
    var time = null;
    var t,x1,x2,c1,c2,y1,y2,d;
    document.onclick=function(event){
    var e = event||window.event;
    if(time!=null){clearTimeout(time);time=null;}
    x1= parseInt($('s').style.left)||0,y1= parseInt($('s').style.top)||0,x2=parseInt(e.clientX),y2=parseInt(e.clientY);
    c1 =x2-x1,c2=y2-y1,t=0,d=250;
    time = setInterval(function(){
        if(t>=d){clearTimeout(time);time=null;}
    t++;
        $('s').style.left = Math.ceil(Tween.Elastic.easeOut(t,x1,c1,d)) + "px";
    $('s').style.top  = Math.ceil(Tween.Elastic.easeOut(t,y1,c2,d))+"px";
            $('jilu1').innerHTML = '目标X: '+x2+ '<br>目标Y: '+y2;
    $('jilu2').innerHTML = 'X: '+$('s').style.left+'<br>Y: '+$('s').style.top;
    },10)
    }
    </script>
    </body>