var oBox = document.getElementById('box');
var maxLeft = utils.win('clientWidth') - oBox.offsetWidth;
var step = 5;
var timer = null;
// 使用遞歸思想完成setTimout的輪詢動畫:
// 每一次在執(zhí)行動畫之前,首先把上一次設(shè)置的那一個沒有用的定時器清除,以節(jié)約內(nèi)存
function move() {
window.clearTimeout(timer);
var curLeft = utils.css(oBox, 'left');
if (curLeft + step >= maxLeft) { // 邊界判斷: 加上步長計算
utils.css(oBox, 'left', maxLeft);
return;
}
curLeft += step;
utils.css(oBox, 'left', curLeft);
timer = window.setTimeout(move, 10);
}
move();
使用setTimeout實現(xiàn)動畫
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- ?+ (void)transitionWithView:(UIView *)view duration:(NSTi...
- 去年底,公司項目需要,準備做動一套態(tài)天氣效果,經(jīng)過考慮,決定使用UIKit自帶的粒子系統(tǒng)實現(xiàn)。其中做了雨、雪、霧(...