鏈?zhǔn)竭\(yùn)動(dòng)多個(gè)li問(wèn)題
將視頻中vivian的li擴(kuò)展到多個(gè)li然后使用如下代碼進(jìn)行運(yùn)動(dòng)的時(shí)候startMove中無(wú)論傳遞this,還是對(duì)象本身aLi[i]都會(huì)報(bào)錯(cuò),這是什么原因,這個(gè)鏈?zhǔn)竭\(yùn)動(dòng)不支持多個(gè)對(duì)象么?
var?aLi?=?document.getElementsByTagName("li"); for(var?i=0;i<aLi.length;i++){ ??????aLi[i].timer?=?null; ????aLi[i].onmouseover?=?function(){ ????????startMove(aLi[i],400,'width',function(){-----這里無(wú)論傳遞什么都會(huì)有錯(cuò)誤 ????????????????????startMove(aLi[i],200,'height') ????????}); ????} ????aLi[i].onmouseout?=?function(){ ????????startMove(this,200,'width'); ????} } <li></li> <li></li> <li></li>
有人已經(jīng)問(wèn)過(guò)了解決方法是:
http://idcbgp.cn/qadetail/139773
var?aLi?=?document.getElementsByTagName("li"); for(var?i=0;i<aLi.length;i++){ ????aLi[i].timer?=?null;? ????aLi[i].onmouseover?=?function(){ ????????var?myThis?=?this; ????????startMove(myThis,400,'width',function(){ ????????????????????startMove(myThis,200,'height') ????????}); ????} ????aLi[i].onmouseout?=?function(){ ????????var?myThis?=?this; ????????startMove(myThis,200,'width'); ????} }
但是我想知道為什么會(huì)出現(xiàn)這種情況,這里的this分別代表什么,aLi[i]傳遞到startMove又是什么變量,是指針還是僅僅一個(gè)object?
2016-11-14
你可以在控制臺(tái)輸出測(cè)試下this指的是什么,或者你把所有代碼粘貼過(guò)來(lái) ?我看看