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

Javascript
图片展示效果 鼠标经过变大图,支持FF
可拖动可改变大小div的实现代码
javascript 随机广告代码(图片广告)
JS+Ajax+Jquery实现页面无刷新分页以及分组 超强的实现
JQuery 浮动导航栏实现代码
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
js 分栏效果实现代码
基于jQuery的ajax功能实现web service的json转化
IE 条件注释详解总结(附实例代码)
用cssText批量修改样式
JavaScript 应用技巧集合[推荐]
jquery 导航设计实现代码 学习jquery的朋友可以看下
动态样式类封装JS代码
一步一步教你写一个jQuery的插件教程(Plugin)
使用jQuery的ajax功能实现的RSS Reader 代码
jquery tools 系列 scrollable(2)
jquery tools系列 overlay 学习
jquery tools系列 expose 学习
javascript十个最常用的自定义函数(中文版)
javascript 流畅动画实现原理

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 134 ::
收藏到网摘: 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/