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

10-01 07:37