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); ? ? //為什么這里能直接清除定時(shí)器??? obj.timer = setInterval(function(){ var flag = true; for (var attr in json){ //1.取當(dāng)前的值 var icur = 0; if (attr == 'opacity'){ icur = Math.round(parseFloat(getStyle(obj,attr))*100); }else{ icur = parseInt(getStyle(obj,attr)); } //2.算速度 var speed = (json[attr] - icur)/8; speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); //3.檢測(cè)是否全部完成 if (icur != json[attr]){ flag = false; } if (attr == 'opacity'){ obj.style.filter = 'alpha(opacity:' + (icur + speed) + ')'; obj.style.opacity = (icur + speed)/100; }else{ obj.style[attr] = icur + speed + 'px'; } } //4.檢測(cè)停止 if(flag){ clearInterval(obj.timer); if (fn){ fn(); } } },30);}
完美運(yùn)動(dòng)框架中move.js文件里面沒(méi)有定義一個(gè)變量obj.timer,為什么調(diào)用startMove函數(shù)時(shí)能直接清除定時(shí)器
once829
2016-07-03 14:21:18