2017-12-29 14 views
1

私はmarginTopを得るために以下のコードを使用しましたが、 "8px"であることがわかりました。 "px"を ""に置き換えました。 誰も私にその理由を教えてくれますか?なぜ、マージンを高さオフセットに数字として追加できないのですか?

var computedStyle = window.getComputedStyle ? getComputedStyle(document.body, null) : document.body.currentStyle; 
var marginTop = computedStyle['marginTop'].replace('px', ''); 
alert(marginTop); 
window.scroll(0, elem.offsetTop - headerHeight + marginTop + marginTop); 
+1

'marginTop'を解析して整数にしてみてください。 – sSD

答えて

8
var marginTop = computedStyle['marginTop'].replace('px', ''); 

marginTopは、文字列値が含まれており、文字列でこれをやっている:

elem.offsetTop - headerHeight + marginTop + marginTop 

あなたはparseInt()を使用して文字列を整数に変換する必要があります。

関連する問題