我做了一个函数,可以根据剩下的CSS值移动元素。我的功能在一个方向上起作用,但在另一个方向上却遇到了一个奇怪的问题。

首先,我提取元素的左值:

$left_position = element.css('left').replace(/[^-\d\.]/g, ''); // left_position = -400


现在,当我为新职位添加正值时:

$new_left_position = $left_position + 400;


我预期的结果是0,但结果是:-400400

如果我将“ +”替换为“-”,则结果为-800

知道为什么吗?
谢谢

最佳答案

将其解析为整数,您将其串联,因为一个元素($ left位置)是一个字符串。

$new_left_position = parseInt($left_position) + 400;

当然,函数“ .replace()”将始终返回字符串,因此您的变量也是字符串。

关于javascript - 正数和负数的加法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27231174/

10-13 09:26