有关javascript的小问题~求高手帮忙。。万分感激!!

请问里面的if(elem.movement){clearTimeout(elem.movement);}是判断函数执行停止的语句吗?if(elem.movement)是否... 请问里面的if (elem.movement) { clearTimeout(elem.movement); }是判断函数执行停止的语句吗? if (elem.movement)是否等于if (elem.movement!=undefined)。。如果是的话为什么能在刚好执行到所需位置时为!=undefined呢???求高手赐教!!
不好意思! 忘记发代码了:
function moveElement(elementID,final_y,interval) {
var elem = document.getElementById(elementID);
if (elem.movement) {
clearTimeout(elem.movement);
}
if (!elem.style.top) {
elem.style.top = "0px";
}
var ypos = parseInt(elem.style.top);
if (ypos < final_y) {
var dist = Math.ceil((final_y - ypos)/10);
ypos = ypos + dist;
}
if (ypos > final_y) {
var dist = Math.ceil((ypos - final_y)/10);
ypos = ypos - dist;
}
elem.style.top = ypos + "px";
var repeat = "moveElement('"+elementID+"',"+final_y+","+interval+")";
elem.movement = setTimeout(repeat,interval);
}
展开
 我来答
御含灵9r
2011-06-05 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2673万
展开全部
if (elem.movement)等价于if (elem.movement!=0)也就是判断定时器是否启动

setTimeout是启动一个定时器,在interval毫秒以后执行repeat 这句话 repeat就是调用moveElement这个函数。
更多追问追答
追问
请问这函数是怎样终止执行的?
追答
你这个程序一旦发动就会持续执行 因为是递归调用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式