課程
/前端開發(fā)
/JavaScript
/JS動畫效果
就是為什么這里是parseInt(oDiv.style.width)-1+'px'呢,之前學速度動畫里面,都是直接oDiv.offsetLeft-1+'px'。
2016-04-11
源自:JS動畫效果 4-2
正在回答
parseInt是獲取整數(shù),而后面的oDiv.style.width是獲取的在body下面標簽里的格式,之前用oDiv.offsetLeft是直接獲取style里的值,但是在style里如果給oDiv加上了邊框,那么offsetLeft就不能準確獲取left的值了,而是獲取left+邊框的值,這里的oDiv.style.width不會有這個問題,但是還是很麻煩,因此后來又封裝了一個函數(shù),也就是getStyle()函數(shù)
function getStyle(obj,attr){
?if(obj.currentStyle){
???? return obj.currentStyle[attr];
?}
else{
??? return getComputedStyle(obj,false)[attr];
}
然后就可以直接調(diào)用parseInt(getStyle(oDiv,"width"))來替換原來的oDiv.offsetWidth
z921129H 提問者
風雨纏溪 回復 z921129H 提問者
舉報
通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝
1 回答求大神幫忙看看
2 回答求大神幫忙看看
2 回答求大神幫忙看看為什么沒有移動進去?
2 回答求大神看看怎么沒反應(yīng)
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-04-11
parseInt是獲取整數(shù),而后面的oDiv.style.width是獲取的在body下面標簽里的格式,之前用oDiv.offsetLeft是直接獲取style里的值,但是在style里如果給oDiv加上了邊框,那么offsetLeft就不能準確獲取left的值了,而是獲取left+邊框的值,這里的oDiv.style.width不會有這個問題,但是還是很麻煩,因此后來又封裝了一個函數(shù),也就是getStyle()函數(shù)
function getStyle(obj,attr){
?if(obj.currentStyle){
???? return obj.currentStyle[attr];
?}
else{
??? return getComputedStyle(obj,false)[attr];
}
}
然后就可以直接調(diào)用parseInt(getStyle(oDiv,"width"))來替換原來的oDiv.offsetWidth