假設我想用onClick方法調用函數。就像這樣:javascript中的遞歸函數,setTimeout和'this'關鍵字
<li class="inline" onclick="mve(this);" >TEMP</li>
,我有一個JS的功能,看起來像這樣:
function mve(caller){
caller.style.position = "relative";
caller.style.left = (caller.style.left+20) +'px';
var foo = setTimeout('mve(caller)', 2000);
}
我的問題是,元素(主叫方指)是初始的onClick調用後不確定。至少這是Firebug告訴我的。
我相信這是一個簡單的解決方案,所以如何簡單地解釋爲什麼,以及如何?
另外,如果我運行它,像這樣:
function mve(caller){
caller.style.position = "relative";
caller.style.left = (caller.style.left+20) +'px';
}
我認爲該元素將移動的每次點擊20px的權利,但事實並非如此。思考?
謝謝。這不僅回答了我的問題,而且額外的洞察力和清晰的表達使材料易於消化;非常感謝。 – T110 2012-04-17 12:23:01