jQuery + JavaScript
var movable = new Array();
movable.push($('#cloud1'));
movable.push($('#comment1'));
if(left == true){
for(i = 0; i < movable.length; i++){
movable[i].position().left += 10;
movable[i].css("left", movable[l].position().left);
}
}
我正在尝试在按下左箭头键的同时在屏幕上移动一组对象。我已经向数组中添加了两个对象,然后我尝试循环遍历数组,增加该对象的位置,然后更新其css。但是,对象的位置始终与我使用的检查相同:
alert(
"Size: " + movable.length +
"\nIndex 0: " + movable[0] +
"\nLeft: " + movable[0].position().left +
"\nTop: " + movable[0].position().top
);
你能明白为什么它不起作用吗?或者告诉我一个更好的方法。谢谢!
工作代码:
for(l = 0; l < movable.length; l++){
var tmpPosX = movable[l].position().left;
tmpPosX += amount * 10;
movable[l].css("left", tmpPosX);
}
答案 0 :(得分:3)
.position()
不是'set'方法;你只能用它来获得这个位置。
http://api.jquery.com/position/
movable[i].offset({left:movable[i].position().left+10})
应该可行。