//動畫函數---任意一個元素移動到指定的目標位置 //element為元素 target為位置 function carToon(element, target) { //設置一個定時器讓他迴圈去增加 element.timeid = setInterval(function () { //拿到當... ...
//動畫函數---任意一個元素移動到指定的目標位置 //element為元素 target為位置 function carToon(element, target) { //設置一個定時器讓他迴圈去增加 element.timeid = setInterval(function () { //拿到當前的位置(純數字) var current = element.offsetLeft; //每次要移動的像素current var step = 10; //註意 這裡是判斷到底往那邊走 如果當前的位置大於目標位置那麼就往回走(往左邊走 就是負的像素) //否則 當前位置小於目標地址 就繼續往右走(正數的像素) step = current > target ? -step : step; //這裡是移動之後的位置 current += step; //判斷目標位置-當前的位置是否大於每次走的像素 if (Math.abs(target - current) > Math.abs(step)) { //繼續移動 element.style.left = current + 'px'; } else { //目標位置-當前的位置小於每次走的像素.清理定時器 然後讓它直接移動到目標的位置 clearInterval(element.timeid); element.style.left = target + 'px'; } }, 10) }