var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
movement=setTimeout(repeat,interval);
var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
movement=setTimeout(repeat,interval);
将你的elementID的值作为字符串参数传递。否则就是传递elementID的值的变量或者对象
如elementID="mydiv",加不加引号就变成
moveElement('mydiv',x,y,interval)和moveElement(mydiv,x,y,interval),不加的话mydiv变量必须是window作用域下变量或者dom中存在id为mydiv的控件,否则你再次引用到这个变量就会报错,而且如果你的moveElement是通过document.getElementById获取控件的话,不加时mydiv为控件就会报错。如果存在window作用域下的字符串变量才不会报错
setTimeout第一个参数最好不要传递字符串值,效率低下,而且你串接成字符串也麻烦,包含单双引号还得注意转义。改成下面的就行。之前回过这个问题。。楼主还没搞清楚
// var repeat= "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
movement=setTimeout(function(){
moveElement(elementID,final_x,final_y,interval);
},interval);