为什么只执行第一个,后面的链式函数没执行
function startMove(obj,json,fn){//四个参数,作用的对象,对象的哪个属性,作用的值是多少,回调函数,没退出该函数再执行里面的函数。
// var obj=document.getElementsByTagName('ul')[1];
clearInterval(obj.timer);
obj.timer=setInterval(function(){
var flag=true;
for(var attr in json){
var icur=0;
if (attr=="opacity") {
icur=Math.round(parseFloat(getStyle(obj,attr))*100);
}
else{
icur=parseInt(getStyle(obj,attr));
}
var speed=(json[attr]-icur)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
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";
// console.log(obj.style[attr]);
}
if(flag){
clearInterval(obj.timer);
// console.log("down");
if(fn){
fn();
}
}
}
}
},30)
}
//获得非行内定义的样式,封装函数
function getStyle(obj,attr){
if (obj.currentStyle){
return obj.currentStyle[attr];//针对IE浏览器;
}else{
return getComputedStyle(obj,false)[attr];//针对大多数浏览器;
}
}