帮我看看这句话是什么意思啊? 本帖最后由 rao3324180 于 2010-06-27 05:43:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加个 elem 是为了区别 是哪个元素的 setTimeout 以便后面 clearTimeout 同一个元素移动到另一个地方去同一个元素同时移动到两个不同的地方去头一句话的意思,是指这个函数本来的作用,是把传递给它的待操作元素移动到另一个地方去。第二句话的意思,是说,当快速调用这个函数时,由于它并未判断上一次的移动是否完成,就会直接执行,因此,就会导致在上一次移动完成之前又开始了一个新的移动,如果两个移动的目标不同,结果就会造成把同一个元素移动到了两个不同的地方。(这听来很有点象早期利用游戏BUG刷钱嘛,呵呵) elem.movement = setTimeout(repeat,interval);这条语句前面为什么要加elem?这个,要看上面函数(写在下面)开始部分啊,那里利用.movement来作为标记变量嘛。function moveElement(elementID,final_x,final_y,interval){ var elem = document.getElementById(elementID);if(elem.movement){ //如果上一个动作仍在执行,对象是movement的状态,则清除事件 clearTimeout(elem.movement); }elem.movement = setTimeout(repeat,interval);///然后,在函数末尾,设置了movement的状态}所以,简单说,它就是个用来判断状态的标记变量。 那movement后面为什么还要加elem elem.movement = setTimeout(repeat,interval);这里的elem可以看成一个对象,在调用方法这样就比较好理解了 movement后面没有加elem啊。你说的是下面这两处吗:moveElement(elementID,final_x,final_y,interval){var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";它们是moveElement和elementID,一个是函数,一个是参数。重点是这个:var elem = document.getElementById(elementID);elem就是代表通过elementID参数指定的元素对象。另外要修正一下我在上面说的:elem.movement = setTimeout(repeat,interval);///这个是存储了settimeout返回的事件句柄,不是简单的标记变量,算是事件的标记变量吧。 jquery messager插件的问题,请教各位 mztree的问题 求助一个小问题 可不可以用javascript实现下载当前页面? 如何可以在页面载入时自动选择一个下拉列表框的值? 简单问题,一个属性忘了,请大家帮忙,谢谢! 梅花雨日历控件3.0 那里有下载或发发份给我.3Q 能不能在正则表达式里使用变量? 如何在网页中屏蔽printscreen键,请给出具体代码 如何屏蔽ie的前进后退键? this的用法,比较不理解 代码看不懂,求解
同一个元素同时移动到两个不同的地方去头一句话的意思,是指这个函数本来的作用,是把传递给它的待操作元素移动到另一个地方去。第二句话的意思,是说,当快速调用这个函数时,由于它并未判断上一次的移动是否完成,就会直接执行,因此,就会导致在上一次移动完成之前又开始了一个新的移动,如果两个移动的目标不同,结果就会造成把同一个元素移动到了两个不同的地方。(这听来很有点象早期利用游戏BUG刷钱嘛,呵呵)
这条语句前面为什么要加elem?这个,要看上面函数(写在下面)开始部分啊,那里利用.movement来作为标记变量嘛。
function moveElement(elementID,final_x,final_y,interval){
var elem = document.getElementById(elementID);
if(elem.movement){ //如果上一个动作仍在执行,对象是movement的状态,则清除事件
clearTimeout(elem.movement);
}
elem.movement = setTimeout(repeat,interval);///然后,在函数末尾,设置了movement的状态
}
所以,简单说,它就是个用来判断状态的标记变量。
你说的是下面这两处吗:
moveElement(elementID,final_x,final_y,interval){
var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
它们是moveElement和elementID,一个是函数,一个是参数。
重点是这个:
var elem = document.getElementById(elementID);
elem就是代表通过elementID参数指定的元素对象。另外要修正一下我在上面说的:
elem.movement = setTimeout(repeat,interval);///这个是存储了settimeout返回的事件句柄,不是简单的标记变量,算是事件的标记变量吧。