qq_ToutAn諾塵_0
2016-01-26 15:50:30
window.onload=function(){ var aLi =document.getElementById("li1"); aLi.onmousemove=function(){ ? // ?必須是aLi,不能是this???? startMove(aLi,'width',200,function(){ startMove(aLi,'height',200,function(){ startMove(aLi,'opacity',100); }); }); } }在startMove()中為什么aLi都寫(xiě)成this不行呢,控制臺(tái)顯示Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.191move.js:9 Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.這錯(cuò)誤。全部改成aLi卻正常能夠運(yùn)行。
5 回答

Perona
TA貢獻(xiàn)355條經(jīng)驗(yàn) 獲得超403個(gè)贊
要學(xué)會(huì)調(diào)試,你控制臺(tái)輸出一下this就知道這里的this是不是指代變量aLi

小紅紅乖乖
TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超1個(gè)贊
如果你在問(wèn)題那個(gè)地方用了this,這個(gè)this是在window.onload=function(){}里面的,它代表的就是window.onload這個(gè)東東;再如在aLi.onmousemove=function(){ }里面用this,就代表了aLi.onmousemove??从盟臅r(shí)候包括它的是什么,這只適用于這個(gè)例子啊。好像其它地方的又有些不同,百度上還有很多情況,我感覺(jué)我這個(gè)就是一個(gè)小范圍的取巧啊

js_saber
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
因?yàn)閟tartmove形式了閉包,作用域跳出到Window下,因此這里使用this代表Window而不是ali
添加回答
舉報(bào)
0/150
提交
取消