程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> javascript-function moveElement()函數

javascript-function moveElement()函數

編輯:編程綜合問答
function moveElement()函數

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);
}
請問各位老師,在此函數中var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")"; 為什麼要拼接成一個字符串,不能寫成這樣
var repeat = "moveElement("elementID",final_x,final_y,interval)";
初學JavaScript,此處不理解,請各位老師指教,多謝!

最佳回答:


因為setTimeout參數是一個字符串,這個字符串本身是一個函數調用,中間的參數是要傳遞進去的,就是elementID是參數值,動態拼接生成的。
如果寫成你說的那樣,那麼參數值就是“elementID"這個字符串,而不是具體的元素ID變量了。

xidaojia
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved