Javascript在将其指向变量时将位置值删除“px”

时间:2015-10-07 18:52:43

标签: javascript css variables

在这样的代码中:

var a = e.clientX;
var b = document.getElementById('someElement').style.left;
var z = a - b;

输出为NaN。分别查看输出,我看到a只是数字而b是以'px'结尾的数字。设置它var a = e.clientX + 'px';仍然无效。

由于

我感谢您的建议,但最好的结果是使用0方法Number()(从其他方法得到的结果是NaN)。 。 。任何想法?

4 个答案:

答案 0 :(得分:1)

style.left的值应为字符串。虽然您可以通过JavaScript自动类型转换向字符串添加数字,但从字符串中减去数字将始终生成NaN

您需要先将字符串转换为数字。这有两种方法可以做到。

var b = Number(document.getElementById('someElement').style.left);

var b = parseInt(document.getElementById('someElement').style.left);

答案 1 :(得分:1)

var a = parseInt(e.clientX, 10);
var b = parseInt(document.getElementById('someElement').style.left, 10);
var z = (a - b) + 'px';

答案 2 :(得分:1)

尝试

curl -X POST -d "customer[name]=Wes&customer[friends][]="

答案 3 :(得分:0)

  

在进行减法运算之前,两个值都需要为NumberparseInt()函数解析字符串参数并返回指定基数的整数(数学系统中的基数)。

var a = e.clientX;
var b = document.getElementById('someElement').style.left;
var z = a - parseInt(b);
alert(z);