第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

多物體運動傳入obj問題

for (var i = 0; i < aLi.length; i++) {
? ?aLi[i].timer = null;
? ?aLi[i].onmouseover = function () {
? ? ? ?startMove(ali[i], {width:400, height:200});
? ?}
? ?aLi[i].onmouseout = function () {
? ? ? ?startMove(aLi[i], {width:200, height:100});
? ?}
}

當(dāng)這樣傳入aLi[i]時,瀏覽器會報錯TypeError: Cannot read property 'timer' of undefined

而當(dāng)傳入this時,就不會存在這個問題

正在回答

2 回答

  1. this的特點是,誰調(diào)用指向誰,所以當(dāng)你第一個參數(shù)傳this的時候,改變自身的屬性,這個無異議;

  2. 當(dāng)你將第一個參數(shù)傳遞為aLi[i]時,本意是考慮到變量i代表的是當(dāng)前aLi的索引值,所以可以指向當(dāng)前的li元素。但事實并非如此,i這個參數(shù)在startMove這個方法中執(zhí)行的時候是undefined的,所以timer屬性也就沒辦法被正確定義了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

把startMove(ali[i], {width:400, height:200});中的ali[i]換成this試試

可以參考我的一個例子 ?https://github.com/KaiWang0712/jsExercise.git? ? ?多物體同時運動+鏈?zhǔn)竭\動.html


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
JS動畫效果
  • 參與學(xué)習(xí)       113909    人
  • 解答問題       1502    個

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

進入課程

多物體運動傳入obj問題

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號