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 相关文章推荐
Auntion-TableSort国人写的一个javascript表格排序的东西
Nov 12 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
20个最新的jQuery插件
Jan 13 Javascript
原生js实现查找/添加/删除/指定元素的class
Apr 12 Javascript
浅析Javascript使用include/require
Nov 13 Javascript
二叉树的非递归后序遍历算法实例详解
Feb 07 Javascript
手机端转盘抽奖代码分享
Sep 10 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
Dec 15 Javascript
js, jQuery实现全选、反选功能
Mar 08 Javascript
vue element-ui table表格滚动加载方法
Mar 02 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
Jun 15 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
mysql 字段类型说明
2007/04/27 PHP
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
您的健身减肥和健康饮食专家:vitafy
2017/06/06 全球购物
运动会广播稿60字
2014/01/15 职场文书
毕业论文评语大全
2014/04/29 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
护理实习生带教计划
2015/01/16 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
2015年档案室工作总结
2015/05/23 职场文书
2016春季运动会前导词
2015/11/25 职场文书
教师反邪教心得体会
2016/01/15 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python