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 相关文章推荐
javascript检查日期格式的函数[比较全]
Oct 17 Javascript
JS前端框架关于重构的失败经验分享
Mar 17 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
jqplot通过ajax动态画折线图的方法及思路
Dec 08 Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 Javascript
node.js从数据库获取数据
May 08 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
15个非常实用的JavaScript代码片段
Dec 18 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
深入理解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
php生成xml简单实例代码
2009/12/16 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
一个简单的php路由类
2016/05/29 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
var与Javascript变量隐式声明
2009/09/17 Javascript
JQuery toggle使用分析
2009/11/16 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
python中函数总结之装饰器闭包详解
2016/06/12 Python
python自定义异常实例详解
2017/07/11 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
python如何处理程序无法打开
2020/06/16 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
资产评估专业学生的自我鉴定
2013/11/14 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
外国人聘用意向书
2014/04/01 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
安全演讲稿大全
2014/05/09 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
考试诚信承诺书
2014/05/23 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android