JavaScript模拟重力状态下抛物运动的方法


Posted in Javascript onMarch 03, 2015

本文实例讲述了JavaScript模拟重力状态下抛物运动的方法。分享给大家供大家参考。具体分析如下:

这段JavaScript代码模拟重力状态下的抛物运动,可设置以下参数:横向初速度、纵向初速度、重力加速度(如果这个加速度是一个随时间变化的值,就能达到其他非匀加速运动的效果了)、动画间隔时间等,相对专业

<!doctype html>
<html>
<head>
<title>js抛物运动</title>
<meta charset="utf-8" />
<style type="text/css">
*{padding:0;margin:0;}
body{font-size:13px;padding:10px;}
p{margin:2px;}
.wrap{position:relative;width:1000px;height:550px;margin:0 auto;border:1px solid #ccc;margin-top:50px;}
#fall{width:20px;font-size:1px;height:20px;background:#000;position:absolute;top:0;left:0;}
</style>
</head>
<body>
<h3>模拟重力状态下的抛物运动(假使1px==1mm)</h3>
<p>横向初速度:<input id="Vx" type="text" value="2" />px/ms</p>
<p>纵向初速度:<input id="Vy" type="text" value="-2" />px/ms</p>
<p>重力加速度:<input id="a" type="text" value="0.0098" />px/平方ms</p>
<p>(如果这个加速度是一个随时间变化的值,就能达到其他非匀加速运动的效果了。)</p>
<p>单位时间:<input id="t" type="text" value="10" />(记录运动的时间间隔)
<p><input type="button" value="演示" onclick="demo(document.getElementById('Vx').value, document.getElementById('Vy').value, document.getElementById('a').value, document.getElementById('t').value)"/></p>
<div class="wrap">
<div id="fall">o</div>
</div>
</body>
<script type="text/javascript">
function demo(x,y,a,t) {
var f=document.getElementById('fall');
var Vx=parseInt(x),
Vy=parseInt(y),
g=a,
t=parseInt(t),
h=0,l=0,Sx=0,Sy=0;
var i=setInterval(function(){
if(f){
Sx+=Vx*t;
l=Sx;
Vy+=g*t;
h+=Vy*t;
f.style.left=l+'px';
f.style.top=h+'px';
if(h>500||l>900)clearInterval(i);
}
},t);
}
</script>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
!DOCTYPE声明对JavaScript的影响分析
Apr 12 Javascript
js判断undefined类型示例代码
Feb 10 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
Sep 01 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
javascript RegExp 使用说明
May 21 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
Aug 11 Javascript
AngularJs Forms详解及简单示例
Sep 01 Javascript
详解如何在vue项目中使用layui框架及采坑
May 05 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
js+canvas实现两张图片合并成一张图片的方法
Nov 01 Javascript
javascript设计模式之迭代器模式
Jan 30 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 #Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
Mar 03 #Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
Mar 03 #Javascript
jQuery对象与DOM对象之间的相互转换
Mar 03 #Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
Mar 03 #Javascript
JS运动基础框架实例分析
Mar 03 #Javascript
jQuery DOM插入节点操作指南
Mar 03 #Javascript
You might like
为查询结果建立向后/向前按钮
2006/10/09 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
菜单效果
2006/10/14 Javascript
网上应用的一个不错common.js脚本
2007/08/08 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
javaScript复制功能调用实现方案
2012/12/13 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
python读写json文件的简单实现
2017/04/11 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python日期相关操作实例小结
2019/06/24 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
Python如何急速下载第三方库详解
2020/11/02 Python
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
幼儿教师思想汇报
2014/01/10 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
生物制药专业求职信
2014/03/11 职场文书
青春寄语大全
2014/04/09 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
nginx 配置缓存
2022/05/11 Servers