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);