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);
}
最佳答案
.position()
不是'set'方法;您只能使用它来获得职位。
http://api.jquery.com/position/movable[i].offset({left:movable[i].position().left+10})
应该可以。
http://api.jquery.com/offset/#offset2