当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理

Javascript
js操作ajax返回的json的注意问题!
javascript document.compatMode兼容性
jquery 锁定弹出层实现代码
Jquery+CSS 创建流动导航菜单 Fluid Navigation
js下用层来实现select的title提示属性
JSON 学习之JSON in JavaScript详细使用说明
jquery实现的超出屏幕时把固定层变为定位层的代码
jQuery 性能优化手册 推荐
javascript Firefox与IE 替换节点的方法
ext combox 下拉框不出现自动提示,自动选中的解决方法
json-lib出现There is a cycle in the hierarchy解决办法
判断控件是否已加载完成的代码
javascript for循环设法提高性能
js 表格拖拽效果实例代码 (IE only)
javascript 命名规则 变量命名规则
js 面向对象的技术创建高级 Web 应用程序
User agent字符串将成为用户真正的隐私问题
JS教程:JavaScript全半角转换
JS教程:Chrome对数组的sort方法优化
WEBJX收集非常有用的免费的Javascript开发工具

Javascript 中的 JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 58 ::
收藏到网摘: n/a

完全符合能量守恒,胡克定理的JavaScript弹簧振子(超简洁版,超越第一版!) 上一版用的是物理思想,这次用的是数学思想,如果您下载过第一版的代码就能明显感到数学的强大!!!!!
这里是弹簧的JS代码:
复制代码 代码如下:

<script type="text/javascript">
/////////////////this spring begin/////////////////////
var X=0.1//X轴增量
var T=0;//X轴初位置
var M=200; //原始振幅倍数
var A=0.7;//振幅倍数衰减数
var D='R';//运动方向
var O=0;//元素
var L=0;//位置
var TI=30;
var S=false;
var HR=false;
function R(){
HR=true;
if(S)
{
return;
}
O.style.left= L+(Math.sin(T))*M+"px";//获取弹簧运动速度
T=T+X;//X轴增长
M-=A;//单位时间衰减
if(M<=0)//振幅为零
{
S=true;
return;//退出
}
setTimeout("R()",TI);//回调
}
///////////////////this spring over///////////////////////////
function I()
{
if(HR){
return;
}
S=false;
O=document.getElementById("div");
X=parseFloat(document.getElementById("X").value);
M=parseFloat(document.getElementById("M").value);
A=parseFloat(document.getElementById("A").value);
TI=parseFloat(document.getElementById("TI").value);
L=document.getElementById("div").offsetLeft;
R();
}
function TS()
{
S=true;
}
function B()
{
if(S)
{
T=0
HR=false;
S=false;
X=parseFloat(document.getElementById("X").value);
M=parseFloat(document.getElementById("M").value);
A=parseFloat(document.getElementById("A").value);
document.getElementById("div").style.left=L+"px";
}
}
</script>

这里是该网页中的HTML(没啥用,为了演示)
复制代码 代码如下:

<div id="P" style="width:500px;height:400px;">
<input style="width:50px" type="text" id="X" value="0.1" />X轴增量<br/><input style="width:50px" type="text" id="M" value="200" />原始振幅倍数<br/>
<input style="width:50px" type="text" id="A" value="0.7" />振幅倍数衰减数<br/>
<input style="width:50px" type="text" id="TI" value="30" />运行时间间隔(毫秒)<br/>
<input style="width:80px" type="button" onclick="TS()" value="停止"/>停止后请从新激活<br/><input style="width:80px" type="button" onclick="B()" value="从新激活"/>
</div><div style=" position:absolute;"><div id="div" onclick="I()" value="设置完后点我!" style="position:absolute; top:-264px; left:211px; width:50px; height:50px; background-color:#FF0;"></div></div>

这比上次的代码大有长进!100%原创!
转载http://www.cnblogs.com/NONE/