猿问

关于setimeout的问题

<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8">
   <title>test2</title>
   <script>
   function moveElement(elementID,final_x,final_y,interval) {
           if (!document.getElementById) return false;
           if (!document.getElementById(elementID)) return false;
           var elem = document.getElementById(elementID);
           var xpos = parseInt(elem.style.left);
           var ypos = parseInt(elem.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--;
           }
           elem.style.left = xpos + "px";
           elem.style.top  = ypos + "px";
           var repeat ="moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
           movement = setTimeout(repeat,interval);
     }

   function positionMessage() {
           if (!document.getElementById) return false;
           if (!document.getElementById("message")) return false;
           var elem = document.getElementById("message");
           elem.style.position = "absolute";
           elem.style.left = "50px";
           elem.style.top = "100px";
           moveElement("message",200,100,10);
   }
       window.onload = positionMessage;
</script>
</head>
<body>
   <p id="message">Wheel!</p>
   <script src="../JavaScript/test2_2.js"></script>
</body>
</html>

<!--第30行代码:var repeat ="moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
这不就变成moveElement('elementID',final_x,final_y,interval)了吗,为什么参数elementID还需要用一个引号?
在这段代码当中参数elementID不就是"message"了吗,本身就已经有了一个双引号,为什么放在setTimeout
的时候还需要多一个引号JS才能运行?(去掉这个单引号JS运行不了)
希望大神来回答下 在下小菜鸟。 谢谢-->


慕码人0044688
浏览 1749回答 1
1回答
随时随地看视频慕课网APP
我要回答