为了账号安全,请及时绑定邮箱和手机立即绑定

javascript DOM 编程艺术中的动画效果代码..

javascript DOM 编程艺术中的动画效果代码..

UncleKeith 2016-02-22 13:40:12
function moveElment(elementID,final_x,final_y,inteval){     var message=document.getElementById(elementID);     var xpos=parseInt(message.style.left);     var ypos=parseInt(message.style.top);     if(xpos==final_x && ypos==final_y){         return true;     }     if(xpos <final_x){         xpos++;     }     if(xpos>final_x){         xpos--;     }     if(ypos<final_y){         ypos++;     }     if(ypos>final_y){         ypos--;     }     message.style.left=xpos+"px";     message.style.top=ypos+"px";     var repeat="moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";     movement=setTimeout(repeat,interval); } addLoadEvent(moveMessage);两个问题:1) 为什么后面要把数值转为字符串形式?      2)  为什么要把moveElement赋值给局部变量? 而且赋值时elementID,final_x,...要在左右加上+号,为什么在elementID要加上单引号?final_x等不用?希望大神能给予帮助 小弟感激不尽。 在web道路上不断努力中...
查看完整描述

2 回答

?
__blank

TA贡献1条经验 获得超0个赞

(1)说得是+"px"那两个属性赋值么?不加px的话mr.css表示不认识mr.js弄过来的东西是个啥。写css定位样式位置的时候肯定要带px单位的嘛

(2)var repeat = "moveElement(' "+elementID+" ',"+final_x+","+final_y+","+interval+")";

不是你说的那样,而是你分组分错了,我这样加下划线不知道你能不能明白了,双引号大部分是作用于逗号括号这些的和变量无关。可以不赋值给局部变量啊,直接可以填在setTImeout函数里,但作者已经做出了解释,这样做是为了更好的阅读代码,不然那么长,填在函数里面不好阅读。

查看完整回答
反对 回复 2016-03-28
  • 2 回答
  • 0 关注
  • 1633 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信