startMove(this,100); 为什么这里的this 不能用 oDiv[i]替代????
window.onload=function (){
var oDiv=document.getElementsByTagName('div');
for(i=0;i<oDiv.length;i++){
oDiv[i].timer=null;
oDiv[i].alpha=30;
oDiv[i].onmouseover=function () {startMove(this,100);} //为什么这里的this 不能用 oDiv[i]替代????
oDiv[i].onmouseout=function(){startMove(this,30);}
}
}
function startMove(obj,iTarget) {
var speed=obj.alpha>iTarget?speed=-5:speed=5;
clearInterval(obj.timer);
obj.timer=setInterval( function(){
if (obj.alpha==iTarget) { clearInterval(obj.timer);}
else {obj.alpha+=speed;obj.style.opacity=obj.alpha/100;}
},30)
}
按我的理解, 这里的this其实本质就是oDiv[i]
如果改了了oDiv[i]以后, 报错提示obj.alpha 错误, 为什么?