2013-12-10 25 views
2

将作为字符串我有两个文本字段imageWidth和imageHeight ...我想利用输入从他们身上,加上当前鼠标poointer位置,然后做一些东西:整数在Javascript

x = e.pageX - canvas.offsetLeft; 
y = e.pageY - canvas.offsetTop; 
var wWidth = document.getElementById('imageWidth').value; 
var wHeight = document.getElementById('imageHeight').value; 
var b = x + wWidth; 
alert(b); 
if(x+wWidth < 800 && y+wHeight < 1560) 
{ 
//some work here 
} 

因此,如果用户输入宽度为400,并且x返回151 ... b的值将是151400 ...而我希望它是551以便循环正常工作...

+1

看看在JavaScript中parseInt函数的功能。 – tjg184

+0

http://stackoverflow.com/questions/1133770/how-do-i-convert-a-string-into-an-integer-in-javascript – tjg184

+1

'.value'返回一个字符串。请参阅链接的副本以了解如何将其转换为整数 – Jamiec

回答

0

Javascript是一种隐式键入的语言。这意味着当你想做数学时,你必须告诉它什么类型的东西。你的代码只是告诉它连接字符串,因此你看到的结果。

试试这个:

x = e.pageX - canvas.offsetLeft; 
y = e.pageY - canvas.offsetTop; 
var wWidth = document.getElementById('imageWidth').value; 
var wHeight = document.getElementById('imageHeight').value; 
var b = parseInt(x, 10) + parseInt(wWidth, 10); 
alert(b); 
if(x+wWidth < 800 && y+wHeight < 1560) 
{ 
//some work here 
} 
2

这应该工作:

x = e.pageX - canvas.offsetLeft; 
y = e.pageY - canvas.offsetTop; 
var wWidth = document.getElementById('imageWidth').value; 
var wHeight = document.getElementById('imageHeight').value; 
var x1 = parseInt(x, 10) + parseInt(wWidth, 10); 
var y1 = parseInt(y, 10) + parseInt(wHeight, 10); 
if(x1 < 800 && y1 < 1560) 
{ 
    //some work here 
}