標籤:js
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>CSS-DOM</title><link rel="stylesheet" type="text/css" href="10.css" ><script src="10.js"></script> </head><body> <p id="message">Whee!</p></body></html>
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);}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); //parseInt(string)把字串裡面的數值資訊提取出來,因為後面要進行很多算術比較操作。var ypos = parseInt(elem.style.top); //parseFloat(string)可以把帶小數的數值(也就是浮點數)提取出來。if(xpos == final_x && ypos == final_y){return true;}if(xpos < final_x){ xpos++;} //如果xpos小於終點的left,給它加1.if(xpos > final_x){ xpos--;} //如果xpos大於終點的left,給它減1.if(ypos < final_y){ ypos++;} //如果ypos小於終點的left,給它加1.if(ypos > final_y){ ypos--;} //如果ypos大於終點的left,給它減1.elem.style.left = xpos + "px";elem.style.top = ypos + "px";//var repeat = function() {moveElement(elementID, final_x,final_y,interval)} varrepeat = "moveElement(‘" + elementID + "‘," + final_x + "," + final_y + "," + interval + ")";movement = setTimeout(repeat,interval);//clearTimeout(movement); 在等待的interval那時間內,可以取消這一“跳躍”行為}addLoadEvent(positionMessage);
js動畫 從一個位置漸漸移動到另外一個位置 通用