zoukankan      html  css  js  c++  java
  • move组件

    function getStyle(obj,name){
        return (obj.currentStyle || getComputedStyle(obj,false))[name];
    }
    function move(obj,json,options){
        options=options || {};
        options.duration=options.duration || 500;
        options.easing=options.easing || 'linear';
     
        var count=Math.floor(options.duration/30);
     
        var start={};
        var dis={};
        for(var name in json){
            start[name]=parseFloat(getStyle(obj,name));
            if(isNaN(start[name])){
                switch (name){
                    case 'left':
                        start[name]=obj.offsetLeft;
                        break;
                    case 'top':
                        start[name]=obj.offsetTop;
                        break;
                    case 'width':
                        start[name]=obj.offsetWidth;
                        break;
                    case 'height':
                        start[name]=obj.offsetHeight;
                        break;
                    case 'opacity':
                        start[name]=1;
                        break;
                    case 'padding-left':
                        start[name]=0;
                        break;
                    //font-size,border-width,margin-left....
                }
            }
            dis[name]=json[name]-start[name];
        }
     
        var n=0;
        clearInterval(obj.timer);
        obj.timer=setInterval(function(){
            n++;
     
            for(var name in json){
     
                switch (options.easing){
                    case 'linear':
                        var scale=n/count;
                        var cur=start[name]+dis[name]*scale;
                        break;
                    case 'ease-in':
                        var scale=n/count;
                        var cur=start[name]+dis[name]*Math.pow(scale,3);
                        break;
                    case 'ease-out':
                        var scale=1-n/count;
                        var cur=start[name]+dis[name]*(1-Math.pow(scale,3));
                        break;
                }
     
                if(name=='opacity'){
                    obj.style[name]=cur;
                    obj.style.filter='alpha(opacity:'+cur*100+')';
                }else{
                    obj.style[name]=cur+'px';
                }
            }
     
            if(n==count){
                clearInterval(obj.timer);
                options.complete && options.complete();
            }
        },30);
    }
  • 相关阅读:
    JS标签获取另一个页面传过来的href值
    jsp/servlet实现简单上传和下载
    servlet跳转页面后图片不显示
    Nginx 配置实例-动静分离
    将博客搬至博客园
    nginx 配置实例-反向代理
    Nginx 简介与安装、常用的命令和配置文件
    nginx 配置实例-负载均衡
    nginx 配置实例-反向代理
    Nginx 简介与安装、常用的命令和配置文件
  • 原文地址:https://www.cnblogs.com/agosto/p/5058096.html
Copyright © 2011-2022 走看看