**問(wèn)題: **
當(dāng)總距離/設(shè)定的步長(zhǎng) 不是一個(gè)整數(shù)時(shí),說(shuō)明少走一步净响,還差點(diǎn)才能到,如果多走一步喳瓣,會(huì)超出目標(biāo)的位置馋贤。
解決:
在進(jìn)行邊界判斷的時(shí)候加上步長(zhǎng)來(lái)進(jìn)行處理。
var oBox = document.getElementById('box');
var maxLeft = utils.win('clientWidth') - oBox.offsetWidth;
var step = 5;
var timer = window.setInterval(function () {
var curLeft = utils.css(oBox, 'left');
if (curLeft + step >= maxLeft) { // 邊界判斷: 加上步長(zhǎng)計(jì)算
utils.css(oBox, 'left', maxLeft);
clearInterval(timer);
return;
}
curLeft += step;
utils.css(oBox, 'left', curLeft);
}, 10);