jQuery - 如何在动画中进行数学运算

时间:2012-02-23 08:59:19

标签: javascript jquery math

我的JavaScript代码:

var a = '10',
    b = '20';

$("#block").animate({
    marginLeft: a + b
}, 500 );

为什么它不能正常工作?

3 个答案:

答案 0 :(得分:4)

您正在添加字符串,marginLeft设置为1020而不是30

答案 1 :(得分:2)

因为你的变量声明中的数字都有引号,所以你要把它们作为字符串。这使a+b =`1020

现在您可能还有一个问题,即您的marginLeft需要有单位声明(例如px)。

所以你应该$("#block").animate({ 'marginLeft': (parseInt(a)+parseInt(b))+'px'}, 500 );

答案 2 :(得分: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'