我做了一个函数,可以根据剩下的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/