Javascript - event.clientX & style.left - 数学运算
Javascript - event.clientX & style.left - Mathematical Operations
我在这里遇到了一个小问题。让我解释一下:
document.getElementById(" ... ").style.left
(对象的水平位置)将 return 这样的值:100px
或 1129px
.
event.clientX
(鼠标指针的水平位置)将 return 这样的值:100
或 1337
。
我想让数学在这两者之间发生。例如:var x = ( document.getElementById(" ... ").style.left ) + (event.clientX )
当一个 return 的值带有 px
而另一个没有时,我该怎么做?我怎样才能得到一个普通的 number/px-number 呢?仅添加 (event.clientX) + "px"
或 document.getElementById(" ... ").style.left - "px"
似乎不起作用
此致!我想如果有什么不清楚的地方请评论!
对字符串进行加法运算会使 Javascript 尝试将它们连接起来,而不是进行实际的数学运算。对包含非数字字符的字符串进行减法将导致 Javascript 尝试将它们转换为数字失败,并会得到 NaN
.
您需要使用 parseInt
将 document.getElementById(" ... ").style.left
给您的字符串转换为整数。 parseInt
将方便地忽略非数字字符,如 'px'.
中的那些
因此,如果 w = document.getElementById(" ... ").style.left
,您可以通过 parseInt(w)
获得以像素为单位的数字。您可以对 parseInt
返回的值进行数学计算,因为它将是一个整数。
我在这里遇到了一个小问题。让我解释一下:
document.getElementById(" ... ").style.left
(对象的水平位置)将 return 这样的值:100px
或 1129px
.
event.clientX
(鼠标指针的水平位置)将 return 这样的值:100
或 1337
。
我想让数学在这两者之间发生。例如:var x = ( document.getElementById(" ... ").style.left ) + (event.clientX )
当一个 return 的值带有 px
而另一个没有时,我该怎么做?我怎样才能得到一个普通的 number/px-number 呢?仅添加 (event.clientX) + "px"
或 document.getElementById(" ... ").style.left - "px"
此致!我想如果有什么不清楚的地方请评论!
对字符串进行加法运算会使 Javascript 尝试将它们连接起来,而不是进行实际的数学运算。对包含非数字字符的字符串进行减法将导致 Javascript 尝试将它们转换为数字失败,并会得到 NaN
.
您需要使用 parseInt
将 document.getElementById(" ... ").style.left
给您的字符串转换为整数。 parseInt
将方便地忽略非数字字符,如 'px'.
因此,如果 w = document.getElementById(" ... ").style.left
,您可以通过 parseInt(w)
获得以像素为单位的数字。您可以对 parseInt
返回的值进行数学计算,因为它将是一个整数。