JS实现的抛物线运动效果示例


Posted in Javascript onJanuary 30, 2018

本文实例讲述了JS实现的抛物线运动效果。分享给大家供大家参考,具体如下:

先来看看运行效果:

JS实现的抛物线运动效果示例

具体代码如下:

<!doctype html >
<html>
<head>
  <meta charset="utf-8"/>
  <title>抛物线运动</title>
  <style>
    .pwx_rect{position:absolute;left:10px;top:300px;background-color:#888;height:50px;width:50px;}
    .pwx_hr{border-top:2px solid #ddd;position:absolute;width:98%;left:0px;top:350px;}
  </style>
  <script>
    test = function(){
      var rect = document.getElementById("rect");
      pwx(rect,60,5); //参数2:抛物线角度,参数3:横向速度每次增加5
    }
    function pwx(rect,radian,step){
      var animate = function(opt){
        var cos = Math.cos(opt.radian*Math.PI/180);//邻边比斜边,60度的话等于1/2
        var sin = Math.sin(opt.radian*Math.PI/180);//对边比斜边,30度的话等于1/2
        var left = opt.rect.offsetLeft;
        var top = opt.rect.offsetTop;
        if(opt.radian>0){
          left+=opt.step;
          opt.radian-=1; //角度递减1
          var a = left - opt.initLeft;
          var c = (a/cos);
          var b = (sin*c);
          opt.rect.style.left = opt.initLeft+a+"px";
          opt.rect.style.top = opt.initTop-b+"px";
          setTimeout(function(){
            animate(opt);
          },10);
        }else{
          opt.rect.style.left = left+opt.step+"px";
          opt.rect.style.top = opt.initTop+"px";
        }
      }
      animate({
        step : step,
        rect : rect,
        radian : radian,
        initTop : rect.offsetTop,
        initLeft : rect.offsetLeft
      });
    }
  </script>
</head>
<body>
3water.com
<input type="button" value="抛物线" onclick="test()"/>
  <div class="pwx_rect" id="rect"></div>
  <div class="pwx_hr"></div>
</body>
</html>

实现思路:

JS实现的抛物线运动效果示例

X方向的边长每次递增5,角度每次递减1,根据这两个已知条件,通过三角函数就可以计算出Y方向的长度是多少

从而得出每次运动的X和Y方向的坐标值,达到抛物线的效果

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery中调用WebService方法小结
Mar 28 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
Dec 26 Javascript
实例讲解jquery与json的结合
Jan 07 Javascript
高效Web开发的10个jQuery代码片段
Jul 22 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
js实现滑动到页面底部自动加载更多功能
Feb 15 Javascript
Angular2下使用pdf插件的方法详解
Apr 29 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 Javascript
[jQuery] 事件和动画详解
Mar 05 jQuery
Vue实现回到顶部和底部动画效果
Jul 31 Javascript
微信小程序wx.request的简单封装
Nov 13 Javascript
express如何使用session与cookie的方法
Jan 30 #Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 #Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
Jan 30 #Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
Jan 30 #Javascript
微信小程序数据存储与取值详解
Jan 30 #Javascript
Vue精简版风格概述
Jan 30 #Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 #Javascript
You might like
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
jQuery动态添加删除select项(实现代码)
2013/09/03 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
JavaScript window.location对象
2014/11/14 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
用Python进行行为驱动开发的入门教程
2015/04/23 Python
简单介绍Python中的JSON使用
2015/04/28 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
python中什么是面向对象
2020/06/11 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
内勤主管岗位职责
2014/04/03 职场文书
快餐公司创业计划书
2014/04/29 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
PHP命令行与定时任务
2021/04/01 PHP
HTML基础详解(上)
2021/10/16 HTML / CSS