<!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)了嗎,為什么參數(shù)elementID還需要用一個引號?在這段代碼當(dāng)中參數(shù)elementID不就是"message"了嗎,本身就已經(jīng)有了一個雙引號,為什么放在setTimeout的時候還需要多一個引號JS才能運行?(去掉這個單引號JS運行不了)希望大神來回答下 在下小菜鳥。 謝謝-->
關(guān)于setimeout的問題
慕碼人0044688
2017-07-19 21:25:59