猿问

josn的用法,不懂,求那个大神详细解答一下

function getStyle(obj, name)

{

if(obj.currentStyle)

{

return obj.currentStyle[name];

}

else

{

return getComputedStyle(obj, false)[name];

}

}



//startMove(oDiv, {width: 400, height: 400})



function startMove(obj, json, fnEnd)

{

clearInterval(obj.timer);

obj.timer=setInterval(function (){

var bStop=true; //假设:所有值都已经到了

for(var attr in json)

{

var cur=0;

if(attr=='opacity')

{

cur=Math.round(parseFloat(getStyle(obj, attr))*100);

}

else

{

cur=parseInt(getStyle(obj, attr));

}

var speed=(json[attr]-cur)/6;

speed=speed>0?Math.ceil(speed):Math.floor(speed);

if(cur!=json[attr])

bStop=false;

if(attr=='opacity')

{

obj.style.filter='alpha(opacity:'+(cur+speed)+')';

obj.style.opacity=(cur+speed)/100;

}

else

{

obj.style[attr]=cur+speed+'px';

}

}

if(bStop)

{

clearInterval(obj.timer);

if(fnEnd)fnEnd();

}

}, 30);

}


Youruncle
浏览 1489回答 1
1回答

玉林峰

假设你传入的json是{left:200, top:200},循环json是用for...in。例如for(var name in json){}此时的name就是json的每一个属性 (left和top)    json就是你传入的{left:200,top:200}json[name]就是 left和top的值 (200)其实和for循环差不多,只是把i换成name了
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答