为什么我的代码中的 aLi[i].timer = null; 出错 为什么我的代码中的 aLi[i].timer = null; 出错 为什么我的代码中的 aLi[i].timer = null; 出错
为什么我的代码中的 aLi[i].timer = null;
在控制台会出现错误!TypeError: aLi[i] is undefined
为什么我的代码中的 aLi[i].timer = null;
在控制台会出现错误!TypeError: aLi[i] is undefined
2015-07-22
首先 alert(aLi[i]); 后是正确的,表示为object HTMLElement.
其次,我的代码是和视频基本一样的
window.onload = function(){
var aLi = document.getElementsByTagName('li');
for(var i=0;i<aLi.length;i++){
alert(aLi[i]);
aLi[i].onmouseover = function(){
aLi[i].timer = null;
//var timer = null;
startMove(this,400);
}
aLi[i].onmouseout = function(){
startMove(this,200);
}
}
}
//var timer = null; //定义定时器,定时器是公用的
function startMove(obj,target){
clearInterval(obj.timer); //取消定时器
obj.timer = setInterval(function(){
var speed = (target - obj.offsetWidth)/8;
speed = speed>0?Math.ceil(speed):Math.floor(speed);
if(obj.offsetWidth == target){
clearInterval(obj.timer);
}else{
obj.style.width = obj.offsetWidth + speed + 'px';
}
},30)
}
举报