假设我想用onClick方法调用一个函数.像这样:
<li class="inline" onclick="mve(this);" >TEMP</li>
Run Code Online (Sandbox Code Playgroud)
我有一个JS函数,如下所示:
function mve(caller){
caller.style.position = "relative";
caller.style.left = (caller.style.left+20) +'px';
var foo = setTimeout('mve(caller)', 2000);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是在初始onClick调用之后,元素(调用者引用的)是未定义的.至少这是Firebug告诉我的.
我确信这是一个简单的解决方案,那么如何简单解释为什么以及如何解释?
如果我像这样运行它:
function mve(caller){
caller.style.position = "relative";
caller.style.left = (caller.style.left+20) +'px';
}
Run Code Online (Sandbox Code Playgroud)
我认为元素在每次点击时都会移动20px,但情况并非如此.思考?