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 相关文章推荐
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
Jun 19 Javascript
JavaScript游戏之是男人就下100层代码打包
Nov 08 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
纯javascript实现分页(两种方法)
Aug 26 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
May 09 Javascript
JS无缝滚动效果实现方法分析
Dec 21 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
Jun 20 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
Sep 28 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 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
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
php基本函数汇总
2015/07/09 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
python实现线程池的方法
2015/06/30 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
手写一个python迭代器过程详解
2019/08/27 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
预备党员转正思想汇报
2014/01/12 职场文书
关于运动会的稿件
2014/02/02 职场文书
档案工作汇报材料
2014/08/21 职场文书
小学生校园广播稿
2014/09/28 职场文书
见习报告格式要求
2014/11/04 职场文书
工程催款通知书
2015/04/17 职场文书
幼儿园见习总结
2015/06/23 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers