zoukankan      html  css  js  c++  java
  • 自由落体和抛物线运动

    自由落体是个加速的过程,让速度递加,再给速度个系数,减小速度即可

    抛物线是在自由落体的前提下left也会变,速度,速度系数

    js函数

    //自由落体和抛物线运动
    function fallMove(obj) {
        var speed = 0;
        var speedX = 10;
        clearInterval(obj.timer);
        obj.timer = setInterval(function() {
            speed += 3;
            var T = obj.offsetTop + speed;
            if(T > document.documentElement.clientHeight - obj.offsetHeight) {
                T = document.documentElement.clientHeight - obj.offsetHeight;
                speed *= -1;
                speed *= 0.75;
                speedX *= .75;
            }
            if(Math.abs(speed) <= 2 && Math.abs(T - (document.documentElement.clientHeight - obj.offsetHeight)) <= 1) {
                clearInterval(obj.timer);
            }
            obj.style.top = T + 'px';
            obj.style.left = obj.offsetLeft + speedX + 'px';
            //                        console.log(obj.offsetLeft);
        }, 30);
    }
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <link rel="stylesheet" type="text/css" href="../css/public.css"/>
            <style type="text/css">
                #div1{width: 100px;height: 100px;background: red;position: absolute;top: 30px;left: 0;}
            </style>
            <script type="text/javascript" src="../js/rainbow.js"></script>
            <script type="text/javascript">
                window.onload=function(){
                    var oDiv=document.getElementById("div1");
                    var oBtn=document.getElementById("btn");
                    oBtn.onclick=function(){
                        fallMove(oDiv);
                    }
                }
            </script>
        </head>
        <body>
            <input type="button" name="btn" id="btn" value="自由落体" />
            <div id="div1"></div>
        </body>
    </html>
  • 相关阅读:
    删除购物车列表页面商品
    购物车页面修改数量功能实现
    cookie来实现购物车功能
    wxWidgets学习计划
    正则校验表达式
    Vue组件间的参数传递与Vue的路由实现
    Vue实现数据双向绑定的原理
    Vue的生命周期
    对于mvvm的理解
    vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
  • 原文地址:https://www.cnblogs.com/rain92/p/6107502.html
Copyright © 2011-2022 走看看