Javascript - event.clientX& style.left - 数学运算

时间:2015-08-10 19:06:30

标签: javascript events math pixel

我在这里遇到了一个小问题。让我解释一下:

document.getElementById(" ... ").style.left(对象的水平位置)将返回如下值:100px1129px

event.clientX(鼠标指针的水平位置)将返回如下值:1001337

我想在这两者之间进行数学运算。例如:var x = ( document.getElementById(" ... ").style.left ) + (event.clientX )

如果一个人使用px返回一个值而另一个没有返回值,我怎么能这样做呢?如何从中获得常规数字/ px-number?仅添加(event.clientX) + "px"document.getElementById(" ... ").style.left - "px"

似乎无效

祝你好运!如果某些事情不清楚我会发表评论!

1 个答案:

答案 0 :(得分:2)

对字符串进行添加将使Javascript尝试连接它们而不是进行实际的数学运算。对包含数字以外的字符的字符串进行减法将导致Javascript在尝试将它们转换为数字时失败,并且会为您提供NaN

您需要使用document.getElementById(" ... ").style.leftparseInt提供给您的字符串转换为整数。 parseInt会方便地忽略非数字字符,例如“px'”中的字符。

因此,如果w = document.getElementById(" ... ").style.left您可以通过parseInt(w)获得以像素为单位的数字。您可以使用parseInt返回的值进行数学运算,因为它将是一个整数。