十分简单的抛物线运动

今天我们来写一种十分简单的抛物线运动,从小我们都学习过抛物线方程:y=ax^2+bx+c,a表示其开口方向

代码如下:

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{margin:0;padding: 0}
#goods{width:50px;height: 50px;background: red;position: absolute;right: 0;top:200px;}
div{width: 10px;height: 10px;background: #000;position: absolute;}
</style>
</head>
<body>
<div id="goods"></div>
</body>
</html>
<script>
/*
y = a*x*x+b*x;

y = -0.001*X*X+b*x

*/
var goods = document.getElementById("goods");

var iw = document.documentElement.clientWidth-goods.offsetWidth;
//document.documentElement.clientWidth 可视区的宽度
document.onclick = function(e) {
var e = e||event;
var div = document.createElement("div");//创建元素div
div.style.left = e.clientX+‘px‘;
div.style.top = e.clientY+‘px‘;//确定产生的元素div的位置
document.body.appendChild(div);//插入页面

var x = e.clientX - iw;//解释如下图
var y = 200 - e.clientY;
var b = (y+0.001*x*x)/x   //任意定义定义一个a的值(此处我们定义为-0.001)

div.timer = setInterval(function(){
x+=5;//让div元素的水平方向开始运动,任意定义数值(此处定义数值为5)
y = -0.001*x*x+b*x;//相应的y轴方向也开始运动
if(x>=0){

clearInterval(div.timer)//关闭自身相对应得定时器
}
div.style.left = iw+x+‘px‘;
div.style.top = 200 - y+‘px‘;
}, 30)

}
</script>

解释图如下:

                                                                            -- --清风独饮黄昏

原文地址:https://www.cnblogs.com/tc-jieke/p/9052070.html

时间: 2024-10-21 13:41:29

十分简单的抛物线运动的相关文章

javascript运动系列第三篇——曲线运动

× 目录 [1]圆周运动 [2]钟摆运动 [3]抛物线运动 前面的话 上一篇介绍了变速运动,但只实现了直线运动.如果元素的left和top同时运动,并遵循不同的曲线公式,则会进行不同形式的曲线运动.本文将详细介绍圆周运动.钟摆运动和抛物线运动这三种曲线运动形式 圆周运动 圆周运动可能是最好理解的曲线运动了 若(x0,y0)为圆心,则圆的公式为(x-x0)*(x-x0) + (y-y0)*(y-y0) = r*r 写成三角函数的形式为 x = x0 + cosa*r y = y0 + sina*r

小tips:用java模拟小球做抛物线运动

这几天刚刚学习了java线程,然后跟着书做了几个关于线程的练习,其中有一个练习题是小球动起来.这个相信很简单,只要运用线程就轻松能够实现.然后看到了它的一个课后思考题,怎样让小球做个抛物线运动,这点我调试了很久,上网也找了很多资料,但是没有那种适合我们小白的教程,于是我简单讲讲我的思路.我将从如何画一个小球开始到一步步实现小球进行抛物线运动.嘿嘿!! 一.任务分解 现在我们来做抛物线运动的小球,先不急写代码,先来想象一下做好的结果是什么样子的.我将这个任务分成三步,第一步,画一个小球:第二步,该

js实现抛物线运动 兼容IE低版本(转)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="keywords" content="javascript, 动画, 抛物线" /> <title>抛物线运动</title> <style> body { margin: 0; font-size: 14px; font-

C# Ping 简单使用

编程过程中,有时候需要判断主机是否在线,最简单的方法就是使用Windows的Ping命令看看能否ping通.看到网上很多文章,说用C#去调用windows的ping.exe,然后解析返回的字符串.我觉得这种方式太麻烦了,就做一下简单判断,不想弄那么麻烦. 查了一下,C#专门提供了一个Ping类,与Windows下的ping命令类似: 命令空间: System.Net.NetworkInformation; 使用方法: bool online = false; //是否在线 Ping ping =

自动生成简单四则运算的C语言程序

该程序是在博客园里面找的,具体是谁的找了半天没找到,无法提供它原本的链接.由于自己写的过于简单,且有一些功能暂时无法实现,所以就找了一个来应付作业,望原谅.在这个程序的源码中我改了一个错误的地方,源码中有这样一个随机数发生器的初始化函数的语句:"srand((unsigned)time(NULL))".srand函数是随机数发生器的初始化函数.但是正确的写法应该是:srand(unsigned( time(NULL))):为了防止随机数每次重复,常常使用系统时间来初始化,即使用time

Mysql的锁机制与PHP文件锁处理高并发简单思路

以购买商品举例: ① 从数据库获取库存的数量. ② 检查一下库存的数量是否充足. ③ 库存的数量减去买家购买的数量(以每个用户购买一个为例). ④ 最后完成购买. 仅仅这几行逻辑代码在并发的情况下会出现问题,自己可以想象一下. 这里暂时就不测试了,下面会针对并发的处理给出测试结果. 创建表: CREATE TABLE `warehouse` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `stock` int(11) NOT NULL

Winfrom 简单的安卓手机屏幕获取和安卓简单操作

为啥我要做这个东西了,是因为经常要用投影演示app ,现在有很多这样的软件可以把手机界面投到电脑上 ,但都要安装,比如说360的手机助手,我又讨厌安装,于是就自己捣鼓了下 做了这个东西, 实现了以下简单功能   1.屏幕获取(因为是截图方式获取的,所以有点卡顿) 2.实现点击功能,并在点击的时候出现一个手势图标,方便用户观看 3.实现简单的滑动功能 4.实现在界面上画图功能 5.实现拖拽安装apk功能 操作说明:鼠标左边 模拟手机点击,中键停止/开始刷新界面(画图的时候不能刷新),右键去掉画图内

iOS instruments之ui automation的简单使用(高手绕道)

最近使用了几次instruments中的automation工具,现记录下automation的简单使用方法,希望对没接触过自动化测试又有需求的人有所帮助.  UI 自动测试是iOS 中重要的附加功能,它由名为"Automation"的新的工具对象支持.Automation工具的脚本是用JavaScript语言编写,主要用于分析应用的性能和用户行为,模仿/击发被请求的事件,利用它可以完成对被测应用的简单的UI测试及相关功能测试. 一. 简单的录制脚本 打开xcode,这里用我为我家亲爱

Android ExpandableListView 带有Checkbox的简单应用

expandablelistview2_groups.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&qu