上一版用的是物理思想,这次用的是数学思想,如果您下载过第一版的代码就能明显感到数学的强大!!!!! 这里是弹簧的JS代码: 复制代码 代码如下: <BR>/////////////////this spring begin///////////////////// <BR>var X=0.1//X轴增量 <BR>var T=0;//X轴初位置 <BR>var M=200; //原始振幅倍数 <BR>var A=0.7;//振幅倍数衰减数 <BR>var D='R';//运动方向 <BR>var O=0;//元素 <BR>var L=0;//位置 <BR>var TI=30; <BR>var S=false; <BR>var HR=false; <br><br>function R(){ <BR>HR=true; <BR>if(S) <BR>{ <BR>return; <BR>} <BR>O.style.left= L+(Math.sin(T))*M+"px";//获取弹簧运动速度 <BR>T=T+X;//X轴增长 <BR>M-=A;//单位时间衰减 <BR>if(M<=0)//振幅为零 <BR>{ <BR>S=true; <BR>return;//退出 <BR>} <BR>setTimeout("R()",TI);//回调 <BR>} <BR>///////////////////this spring over/////////////////////////// <BR>function I() <BR>{ <BR>if(HR){ <BR>return; <BR>} <BR>S=false; <BR>O=document.getElementById("div"); <BR>X=parseFloat(document.getElementById("X").value); <BR>M=parseFloat(document.getElementById("M").value); <BR>A=parseFloat(document.getElementById("A").value); <BR>TI=parseFloat(document.getElementById("TI").value); <BR>L=document.getElementById("div").offsetLeft; <BR>R(); <BR>} <BR>function TS() <BR>{ <BR>S=true; <BR>} <BR>function B() <BR>{ <BR>if(S) <BR>{ <BR>T=0 <BR>HR=false; <BR>S=false; <BR>X=parseFloat(document.getElementById("X").value); <BR>M=parseFloat(document.getElementById("M").value); <BR>A=parseFloat(document.getElementById("A").value); <BR>document.getElementById("div").style.left=L+"px"; <BR>} <BR>} <br><br> 这里是该网页中的HTML(没啥用,为了演示) 复制代码 代码如下: X轴增量原始振幅倍数 振幅倍数衰减数 运行时间间隔(毫秒) 停止后请从新激活 这比上次的代码大有长进!100%原创!转载http://www.cnblogs.com/NONE/