2
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";

我无法让图像移动。顺便说一句,那不是实际的代码,最后一行代码是什么没有移动它,而且我之间还有其他代码位。它出什么问题了??

4

1 回答 1

2

这行代码是问题所在:

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

array[0].style.left正在返回类似的东西100px。所以,添加到那10将是100px10,然后添加到那px将是100px10px。你需要做的是使用parseInt隐蔽的100pxto 100,然后添加10will be 110,添加px到 that 会给你正确的110px

array[0].style.left = parseInt(array[0].style.left) + 10 + "px";
于 2013-03-17T05:54:28.510 回答