动画效果,参数说明:elementID是移动的对象ID ,finX finY是移动到最后位置的坐标,interval是移动的快慢
function move(elementID,finX,finY,interval){
var elem = document.getElementById(elementID); if(elem.movement){ clearTimeout(elem.movement); } var xpos = parseInt(elem.style.left); var ypos = parseInt(elem.style.top); if(xpos == finX && ypos == finY) return true; if(xpos<finX){ dist = Math.ceil((finX - xpos)/10); xpos = xpos + dist; } if(xpos>finX){ dist = Math.ceil((xpos - finX)/10); xpos = xpos - dist; } if(ypos<finY){ dist = Math.ceil((finY - ypos)/10); ypos = ypos + dist; } if(ypos>finY){ dist = Math.ceil((ypos - finY)/10); ypos = ypos - dist; } elem.style.left = xpos + "px"; elem.style.top = ypos +"px"; var repeat = "move('"+elementID +"',"+finX+","+finY+","+interval+")"; elem.movement = setTimeout(repeat,interval); }