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 相关文章推荐
jQuery 获取对象 基本选择与层级
May 31 Javascript
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 Javascript
JQuery实现简单的图片滑动切换特效
Nov 22 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
对angularjs框架下controller间的传值方法详解
Oct 08 Javascript
说说Vue.js中的functional函数化组件的使用
Feb 12 Javascript
Vue-CLI项目中路由传参的方式详解
Sep 01 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
js脚本中执行java后台代码方法解析
Oct 11 Javascript
JavaScript中交换值的10种方法总结
Aug 18 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
js 表格隔行颜色
2009/12/02 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
python使用socket进行简单网络连接的方法
2015/04/29 Python
在Mac OS上搭建Python的开发环境
2015/12/24 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
商务英语应届生自我鉴定
2013/12/08 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
白酒市场营销方案
2014/02/25 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
空气环保标语
2014/06/12 职场文书
vue+element ui实现锚点定位
2021/06/29 Vue.js