• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

宽度和透明度实现同时运动,可是高度差了两个像素。

//封装函数,获取样式,解决offset全部属性下的BUG
function getStyle(obj,attr){
        if(obj.currentStyle){
                return obj.currentStyle[attr];
        }else{
                return getComputedStyle(obj,false)[attr];
        }
}


//封装动画框架
function startMove(obj,json,fn){   //(对象,改变的属性,目标值,回调函数)
        clearInterval(obj.timer);
        obj.timer = setInterval(function(){
                for(var attr in json){  //JSON实现同时运动
                //取到当前值
                        var icur = 0;
                        var flag = true;//假设
                        if(attr == "opacity"){
                                icur = Math.round(parseFloat(getStyle(obj,attr))*100);//处理透明度
                        }else{
                                var icur = parseInt(getStyle(obj,attr));
                        }               
                        //计算速度
                        var speed = (json[attr] - icur)/10;
                        speed = speed>0?Math.ceil(speed):Math.floor(speed);
                        //是否所有的运动都达到目标值
                        if(json[attr]!=icur){
                                flag = false;
                        }
                        if(attr == "opacity"){
                                icur += speed;
                                obj.style.opacity = icur/100;
                                obj.style.filter = 'alpha(opacity:'+icur+')';
                        }else{
                                obj.style[attr] = icur + speed +"px";
                        }
                }
                if(flag){
                                clearInterval(obj.timer);
                                if(fn){
                                        fn();
                                }
                        }       
        },50)
}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

你是几个动画一起执行的,一个动画执行完之后了,就会停掉整个定时器。所以就会有的还没执行完,每个动画分开执行就好了。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!