zoukankan      html  css  js  c++  java
  • 原生JS代码封装(输入属性、属性值、动画时长,获得动画效果)

    function animate(ele, props, callback) { //属性,属性值,动画时长
        
        stopNow();
        
        ele.timerlist = [];
        ele.cbk = callback;
        
        for (let attr in props) {
            let start = parseFloat(getStyle(ele)[attr]);
            let degree = 0;
            let distance = props[attr] - start;
            let t = setInterval(function() {
                degree += 3;
                // console.log(start + Math.sin(Math.PI / 180 * degree) * distance);
                if(attr == "opacity") {
                    ele.style[attr] = start + Math.sin(Math.PI / 180 * degree) * distance;
                } else {
                    ele.style[attr] = start + Math.sin(Math.PI / 180 * degree) * distance + "px";
                }
                if (degree == 90) {
                    clearInterval(t)
                    var index = ele.timerlist.indexOf(t);
                    ele.timerlist.splice(index,1);
                    ele.timerlist.length == 0 ? (ele.cbk ? ele.cbk() : "" ) : "";
                }
            }, 30);
            ele.timerlist.push(t);
        }

        function getStyle(ele) {
            if (window.VBArray) {
                return ele.currentStyle;
            } else {
                return getComputedStyle(ele);
            }
        }
        
        function stopNow(){
            if(!ele.timerlist) return;
            var t = null;
            while(t=ele.timerlist.pop()) {
                clearInterval(t);
            }
        }
    }
  • 相关阅读:
    mvc5+ef6+Bootstrap 项目心得--创立之初
    C# StopWatch的使用
    MVC Form异步请求
    bootstrap-datepicker带中文的js文件
    bootstrap
    mvc5+ef6+Bootstrap 项目心得--WebGrid
    mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理
    关于mvc5+EF里面的db.Entry(model).State = EntityState.Modified报错问题
    将DBF文件导入Sqlserver数据库
    MySQL主从报错解决:Failed to initialize the master info structure
  • 原文地址:https://www.cnblogs.com/sunyang-001/p/10813056.html
Copyright © 2011-2022 走看看