注册 登录
编程论坛 JavaScript论坛

javascript DOM编程艺术的动画效果问题...

keith123456 发布于 2016-02-22 12:26, 2671 次点击
程序代码:
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 回复
#2
冰镇柠檬汁儿2016-02-26 10:20
1、转化成数值方便计算,你没看到xpos++;xpos--;这样的语句吗。
2、var repeat="moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";这句是在拼一个字符串
#3
keith1234562016-02-26 10:40
回复 2楼 冰镇柠檬汁儿
  感谢你的回答 。 可以告诉我拼字符串的原理吗。。
 感激不尽
1