javascript-无法更改对象位置

javascript-无法更改对象位置,javascript,position,Javascript,Position,我无法移动图像。顺便说一句,这不是实际的代码,最后一行代码是what'ts not moving,我还有其他代码位在中间。有什么问题吗?这一行代码就是问题所在: var img = new Image(); img.className = "block"; img.src = "http://db.tt/xCGgJN48"; img.style.left = x + "px"; img.style.top = y + "px"; var array = []; array.push(img);

我无法移动图像。顺便说一句,这不是实际的代码,最后一行代码是what'ts not moving,我还有其他代码位在中间。有什么问题吗?

这一行代码就是问题所在:

var img = new Image();
img.className = "block";
img.src = "http://db.tt/xCGgJN48";
img.style.left = x + "px";
img.style.top = y + "px";
var array = [];
array.push(img);
document.getElementById("mydiv").appendChild(array[0]);
//imagine some delay here
array[0].style.left = (array[0].style.left + 10) + "px";
数组[0]。style.left
返回的值类似于
100px
。因此,将
10
添加到其中将是
100px10
,然后将
px
添加到其中将是
100px10px
。您需要做的是使用
parseInt
100px
转换为
100
,然后添加
10
将是
110
,添加
px
将得到正确的
110px

(array[0].style.left + 10) + "px";

这与数组没有任何关系。嗯,没有,但我一开始不知道发生了什么。是的,在某个时候,我想知道为什么我们必须将所有这些“px”添加到所有内容中,以及更改它是否会很奇怪。我添加了parseInt,但得到了“---缺少基数参数。”
parseInt(数组[0].style.left,10)
。基数通常是可选的。。。奇怪的是你会犯这样的错误。基数是您正在使用的数字系统。例如,
10
是十进制的,
2
是二进制的。我不知道你说的是什么意思,什么是基数。如果你需要更多关于
parseInt
的信息,你可以阅读以下内容:-)当有人成功回答你的问题时,一定要选中复选标记。欢迎来到StackOverflow:)
array[0].style.left = parseInt(array[0].style.left) + 10 + "px";