zoukankan      html  css  js  c++  java
  • 原生JS代码封装(抛物线运动)

    function parabola(ele, stop){
            
            //y == a*x^2 + bx + c
            //原点
            var centerpoint = {
                x : ele.offsetLeft,
                y : ele.offsetTop
            }
            //目标点的 相对坐标系位置
            var target = {
                x : stop.offsetLeft - centerpoint.x,
                y : centerpoint.y - stop.offsetTop
            }
            //系数
            var a = -0.0015;
            // b = (y - ax^2)/x
            b = (target.y - a*target.x*target.x)/target.x;
            
            var _x = 0;
            var t = setInterval(function(){
                _x+=8;
                var _y = a*_x*_x + b*_x;
                ele.style.left = _x + centerpoint.x + "px";
                ele.style.top = centerpoint.y - _y + "px";
                
                if(_x >= target.x) {
                    ele.style.left = stop.offsetLeft + "px";
                    ele.style.top = stop.offsetTop + "px";
                    clearInterval(t)
                }
            }, 20);
        }
  • 相关阅读:
    html5+css3兼容问题小结
    webkit滚动条样式设置
    rem彻底研究
    四月、五月开发总结
    php oci8 小试
    oracle创建dblink
    php 页面参数过多时自动拼接get参数的函数
    Oracle Database 11g Express Edition 使用小结(windows)
    php sortable 动态排序
    php动态生成一个xml文件供swf调用
  • 原文地址:https://www.cnblogs.com/sunyang-001/p/10813074.html
Copyright © 2011-2022 走看看