我无法理解这个问题。我假设它是一个范围问题,但我不知道如何解决它。
我创建了一个数组来存储 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'] 的位置。为什么不添加每个'box'+i?
最佳答案
尝试将循环内的代码封装在新的“上下文”中:
(function(i) {
.. your code
})(i);
关于jquery - JavaScript 循环内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789075/