简单动画 封装方法

       //el:谁要做运动; target:运动到哪; step:运动步长; fn:回调
        var time = null;
       function lineamove(el, target, step, fn) {
            var startLift = el.offsetLeft;
            // 当前位置与目标位置一致则停止不动
            if (startLift == target) {
                return;
            }
            // 判断step的正负
            step = target > startLift ? Math.abs(step) : -1 * Math.abs(step);
            // 停止定时器
            clearInterval(time);
            time = setInterval(function() {
                // 获取当前的Left
                var currentLeft = el.offsetLeft;
                // 增加步长
                currentLeft += step;
                // 赋值
                el.style.left = currentLeft + 'px';
                // 做差
                var cha = target - currentLeft;
                // 判断定时器是否停止
                if (Math.abs(cha) < Math.abs(step)) {
                    el.style.left = target + 'px';
                    clearInterval(time);
                    // 回调
                    if (fn) {
                        fn();
                    }
                }
            }, 16.7)
        }

上一篇:PostgreSQL数据的导出导入


下一篇:SqlServer 查询最近一段范围中的数据