2012-02-23 9 views

ответ

4

Вы добавляете строки, а marginLeft устанавливается в 1020 вместо 30.

2

Поскольку у вас есть котировки вокруг чисел в объявлении переменной, вы делаете их строками. Это делает a+b = `1020

У вас также может возникнуть проблема, связанная с тем, что ваш marginLeft должен иметь объявление единицы (например, px).

Таким образом, вы должны иметь $("#block").animate({ 'marginLeft': (parseInt(a)+parseInt(b))+'px'}, 500);

+1

JQuery принимает 'px', если ни одна единица не может быть найден. – Yoshi

+0

Ах, справедливо ... Я уверен, что у меня была проблема с ним в прошлом. Во всяком случае, это было только возможно. –

0

Посмотрите на это:

string + string = string 
'10' + '20' = '1020' 

number + number = number 
10 + 20 = 30 

string - (-string) = number 
'10' - (-'20') = 30 

number + string = string 
10 + '20' = '1020' 
Смежные вопросы