javascript循环中的函数

时间:2011-04-26 10:34:59

标签: jquery

我无法理解这个问题。我假设它有一个范围问题,但我不知道如何绕过它。

我创建了一个数组来存储6个独立元素的x和y位置

var pos = new Array();
for(i=1;i<7;i++){
    pos['box'+i] = $('.box'+i).position();
}

我想用另一个循环

将其添加到每个元素
for(i=1;i<7;i++){
    $('.box'+i).draggable({zIndex: 9999, revert: function(){
        $(this).animate({top:pos['box'+i].top, left:pos['box'+i].left}, 500, "easeOutElastic");
    }});
}

拖动有效,但恢复功能没有。通过一些警报,我发现它试图获得不存在的pos ['box7']的位置。为什么不添加每个'框'+ i?

1 个答案:

答案 0 :(得分:1)

尝试将代码封装在循环中的新“上下文”中:

(function(i) {
  .. your code
})(i);