私のJavaScriptコード:jQueryの - どのように数学的なアニメーションでは、
var a = '10',
b = '20';
$("#block").animate({
marginLeft: a + b
}, 500);
なぜそれが正常に動作しないのですか?
私のJavaScriptコード:jQueryの - どのように数学的なアニメーションでは、
var a = '10',
b = '20';
$("#block").animate({
marginLeft: a + b
}, 500);
なぜそれが正常に動作しないのですか?
文字列を追加すると、marginLeftが30
の代わりに1020
に設定されます。
変数宣言の数値の前後に引用符があるので、文字列にしています。これにより、marginLeft
にユニット宣言(例:px)が必要であるという問題が発生することがあります。
ですから、$("#block").animate({ 'marginLeft': (parseInt(a)+parseInt(b))+'px'}, 500);
これを見てください持っている必要があります。
string + string = string
'10' + '20' = '1020'
number + number = number
10 + 20 = 30
string - (-string) = number
'10' - (-'20') = 30
number + string = string
10 + '20' = '1020'
jQueryのは、 'NOユニットが見つからない場合px'を前提としています。 – Yoshi
ああ、かなり...私は過去にそれに問題があったと確信しています。とにかく、それはおそらく多分でした。 –