課程
/前端開發(fā)
/JavaScript
/JS動畫效果
為什么speed大于0向上取整,小于0向下取整?
2016-06-01
源自:JS動畫效果 4-1
正在回答
var speed=(iTarget-mybox.offsetLeft)/20;這里的速度值表示,當你的目標值大于當前的寬度,speed大于0表示你向右走,要“+“正speed加一個寬度.如果speed小于0,你要向左走,你的寬度需要越來越小,所以speed需要"-"只有向下取整。不知道有沒有描述清楚。
當speed負值時=-0.9、-0.8、-0.7...時,向上取整時speed值=0,此后的速度一直為0,所以要向下取整-0.9、-0.8...向下取整等于-1;同理當speed為正值時0.9、0.8、0.7...向上取=1,向下取=0;
至于為什么要取整,是因為offsetWidth等像素值最小單元為1px,有小數(shù)存在時會四舍五入,當接近目標值時speed值很小,此時當增加的speed后的offsetWidth小數(shù)位<0.5時就永遠地進不了位(如196.4四舍五入為196);
舉報
通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝
2 回答speed向上取整和向下取整
2 回答speed=speed>0?Math.ceil(speed):Math.floor(speed); 向上取整沒有用
2 回答向上取整和向下取整
3 回答為什么向右移動時是向上取整,然后向左移動是向下取整?
1 回答為什么使用的時向上取整,得到的確實向下取整?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-06-01
var speed=(iTarget-mybox.offsetLeft)/20;這里的速度值表示,當你的目標值大于當前的寬度,speed大于0表示你向右走,要“+“正speed加一個寬度.如果speed小于0,你要向左走,你的寬度需要越來越小,所以speed需要"-"只有向下取整。不知道有沒有描述清楚。
2016-09-10
當speed負值時=-0.9、-0.8、-0.7...時,向上取整時speed值=0,此后的速度一直為0,所以要向下取整-0.9、-0.8...向下取整等于-1;同理當speed為正值時0.9、0.8、0.7...向上取=1,向下取=0;
至于為什么要取整,是因為offsetWidth等像素值最小單元為1px,有小數(shù)存在時會四舍五入,當接近目標值時speed值很小,此時當增加的speed后的offsetWidth小數(shù)位<0.5時就永遠地進不了位(如196.4四舍五入為196);