关于清除定时器的判断,假设在某一次循环时,循环到最后一个属性,最后这个属性到达了目标而其它的属性还没有,这时结束循环后不会清除定时器吗???
function(element,json){
clearInterval(element.timeId);
element.timeId=setInterval(function(){
for (var attr in json){
var flag=true;
var current=parseInt(getStyle(element,attr));
var target=json[attr];
var step=(target-current)/10;
step=step>0?Math.ceil(step):Math.floor(step);
current+=step;
element.style[attr]=current+"px";
if (current!=target){
flag=false;
}
}
if(flag){
clearInterval(element.timeId);
}
},20);
}
从你这段代码逻辑来看,只会判断最后一个属性的flag,如果是false,则不会清除定时器