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 相关文章推荐
WordPress 照片lightbox效果的运用几点
Jun 22 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
Jul 31 Javascript
javascript中Number对象的toString()方法分析
Dec 20 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
Jan 13 Javascript
angular json对象push到数组中的方法
Feb 27 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 Javascript
通过JS深度判断两个对象字段相同
Jun 14 Javascript
React 父子组件通信的实现方法
Dec 05 Javascript
angular共享依赖的解决方案分享
Oct 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
PHP EOT定界符的使用详解
2008/09/30 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
node网页分段渲染详解
2016/09/05 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
node 版本切换的实现
2020/02/02 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python实现AI换脸功能
2020/04/10 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
如何现实servlet的单线程模式
2014/08/05 面试题
物业管理大学生个人的自我评价
2013/10/10 职场文书
探亲邀请信范文
2014/01/30 职场文书
学生会招新策划书
2014/02/14 职场文书
机关单位动员会主持词
2014/03/20 职场文书
校园环保标语
2014/06/13 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2014年实习期工作总结
2014/11/27 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
html5表单的required属性使用
2021/07/07 HTML / CSS