function moveElement(elementID,final_x,final_y,interval){
var elem = document.getElementById(elementID);
if(elem.movement){
clearTimeout(elem.movement);
}
var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
var dist = 0;
if(xpos == final_x && xpos == final_y){
return ture;
}
if(xpos < final_y){
dist = Math.ceil((final_x - xpos)/10);
xpos += dist;
}
if(xpos > final_y){
dist = Math.ceil((xpos - final_x)/10);
xpos -= dist;
}
...
var repeat = "moveElement('" + elementID + "'," + final_x + "," + final_y + ","+ interval+")";
elem.movement = setTimeout(repeat,interval);
}
这个函数是不是调用一次clearTimeout()就清除了函数的调用啦?麻烦解释一下,谢谢
var elem = document.getElementById(elementID);
if(elem.movement){
clearTimeout(elem.movement);
}
var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
var dist = 0;
if(xpos == final_x && xpos == final_y){
return ture;
}
if(xpos < final_y){
dist = Math.ceil((final_x - xpos)/10);
xpos += dist;
}
if(xpos > final_y){
dist = Math.ceil((xpos - final_x)/10);
xpos -= dist;
}
...
var repeat = "moveElement('" + elementID + "'," + final_x + "," + final_y + ","+ interval+")";
elem.movement = setTimeout(repeat,interval);
}
这个函数是不是调用一次clearTimeout()就清除了函数的调用啦?麻烦解释一下,谢谢
貌似就是这个样子
然后代码最后又加上了开启新的settimeout,所以这个代码其实就只是setinterval而已