谷歌测试实际改变值 和 预期值有偏差
测试时候发现 实际偏移值 和 预期值 之间有一定偏差 为什么?
测试时候发现 实际偏移值 和 预期值 之间有一定偏差 为什么?
2016-11-25
function manyDivMove(obj,json,fn) {
clearInterval(obj.timee);
obj.timee = setInterval(function () {
var flag = true;//看这里 1
for(var attr in json){
var ico = 0;
if (attr=='opacity') {
ico = parseFloat(getStyle(obj,attr))*100;
}else{
ico = parseInt(getStyle(obj,attr));
}
var speed = (json[attr]-ico)/8;
speed = speed>0? Math.ceil(speed):Math.floor(speed);
if(json[attr]!=ico){
flag = false;//看这里 2
if (attr=='opacity') {
//obj.style.filter = 'alpha(opacity:'+(ico+speed)+')';
obj.style.opacity = ( speed + ico )/100;
}else{
obj.style[attr] = speed + ico+'px';
}
}
}
if (flag) {//同时动作做完了才清除定时器
clearInterval(obj.timee);
if (fn) {fn(obj);}
}
},30);
}
添加一个 flag 来判断是否所有同步的动作都做完了
举报