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 相关文章推荐
模拟select的代码
Oct 19 Javascript
js判断上传文件的类型和大小示例代码
Oct 18 Javascript
js中传递特殊字符(+,&amp;)的方法
Jan 16 Javascript
Javascript原型链的原理详解
Jan 05 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
Jan 03 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
深入理解node.js http模块
Jan 24 Javascript
js隐式转换的知识实例讲解
Sep 28 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
vue解决花括号数据绑定不成功的问题
Oct 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
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
javascript 限制输入脚本大全
2009/11/03 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
jQuery实现轮播图源码
2019/10/23 jQuery
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
python协程用法实例分析
2015/06/04 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
最新大学职业规划书范文
2013/12/30 职场文书
简单英文演讲稿
2014/01/01 职场文书
同学会主持词
2014/03/18 职场文书
大学生找工作求职信
2014/07/09 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
2015双创工作总结
2015/07/24 职场文书
任命书格式范文
2015/09/22 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
详解Python类和对象内容
2021/06/22 Python
Mysql案例刨析事务隔离级别
2021/09/25 MySQL