亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我的代碼中的 aLi[i].timer = null; 出錯 為什么我的代碼中的 aLi[i].timer = null; 出錯 為什么我的代碼中的 aLi[i].timer = null; 出錯

為什么我的代碼中的 ?aLi[i].timer = null; ?

在控制臺會出現錯誤!TypeError: aLi[i] is undefined

正在回答

3 回答

粗略的看了下你的定時器聲明是在局部,不是全局聲明,意思就是,你的xx[i].timer=null;是在onmouseover里聲明的,作用域問題

0 回復 有任何疑惑可以回復我~

首先 ?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)

}


??


0 回復 有任何疑惑可以回復我~

首先你得看看上面你的選擇器 aLi是否正確,這里表示aLi都是undefined。alert出來看看

其次,問問題的時候建議把代碼段貼出來,這樣人家看了代碼就能很好的找到錯誤點。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JS動畫效果
  • 參與學習       113918    人
  • 解答問題       1502    個

通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝

進入課程

為什么我的代碼中的 aLi[i].timer = null; 出錯 為什么我的代碼中的 aLi[i].timer = null; 出錯 為什么我的代碼中的 aLi[i].timer = null; 出錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號