亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

看了這個最后那個完美的運動框架發現一個問題,同時運動的定時器并沒有結束。。。。。定時器還在一直運行,只不過不在動畫了而已。

正在回答

1 回答

  //獲取當前樣式
        function getStyle(obj,attr){
            if(obj.currentStyle){
                return  obj.currentStyle[attr];
            }
            return getComputedStyle(obj,false)[attr];

        }
        //運動框架
        /**
         * @param obj
         * @param json
         * @param fn
         */
        function startMove(obj,json,fn){
            clearInterval(obj.timer);

            var size = (function(){
                var tt = 0;
                for(var i in json){
                    tt++;
                }
                return tt;
            }());
            obj.timer = setInterval(function(){
                var count = 0;//判斷同時運動是否結束
                for(var i in json){
                    //判斷透明度
                    var icur = 0; //獲取當前樣式
                    if(i=="opacity"){
                        icur = Math.round(parseFloat(getStyle(obj,i))*100);
                    }else{
                        icur = parseInt(getStyle(obj,i));
                    }
                    var iTarget = json[i];
                    //緩沖運動獲取speed (+ 越來越慢 -越來越慢)
                    var ispeed = iTarget-icur>0?Math.ceil((iTarget-icur)/8):Math.floor((iTarget-icur)/8);
                   //停止運動
                    if(icur != iTarget){
                        if(i=="opacity"){//透明度
                            obj.style.filter="alpha(opcoty:'"+(icur+ispeed)+")";
                            obj.style.opacity=(icur+ispeed)/100;
                        }else{
                            obj.style[i] = icur+ispeed+"px";
                        }
                    }else{
                       count++;
                       //判斷所有運動是否結束
                       if(count==size){
                           clearInterval(obj.timer);
                           if(fn){
                               fn();
                            }
                        }
                    }
                }
            },30);
        }

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號