Мои 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 устанавливается в 1020
вместо 30
.
Поскольку у вас есть котировки вокруг чисел в объявлении переменной, вы делаете их строками. Это делает a+b
= `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 принимает 'px', если ни одна единица не может быть найден. – Yoshi
Ах, справедливо ... Я уверен, что у меня была проблема с ним в прошлом. Во всяком случае, это было только возможно. –