2017-09-02 8 views
2

予想通り、この作品:この位置にcalc()関数を使用する場合、Javascriptで要素の位置を設定するにはどうすればよいですか?

document.getElementById('blah').style.left = '200px'; 

はしかし、これは私には未知の理由のために働くことを拒否していない:コンソールで

document.getElementById('blah').style.left = 'calc(225px-25px)'; 

エラーなし。プロパティは単純に設定されていないようです。

なぜですか?そして、この作品を作る方法は?

+0

そして、なぜドン25pxに設定していますか? https://stackoverflow.com/questions/40871127/can-i-use-css-calc-withing-javascript – z3nth10n

+0

'calc(225px-220px)'を使用する代わりに、 '20px'を直接使用することを意味します。それは意味をなさない。 calcはパーセンテージの方が多くあります。 – z3nth10n

+0

@Ikillnukes確かにこれは、できるだけシンプルで実際の意味を持たないことを目的とした失敗コードの最小例です。私の特定のユースケースに加えて、私は変数にこれらの値の1つを持っていますので、 'calc'は' toString() 'と' parseInt() 'を1つ保存します。 – gaazkam

答えて

2

あなたの問題は+-事業者とcalcを使用する際は、必ず両側にwhitespceをオペレータにラップする必要があるということです。

calc(225px - 25px) 

これはあなたのために動作します:

document.getElementById('blah').style.left = 'calc(225px - 25px)'; 
関連する問題