0

我搜索了 stackoverflow 和其他各种网站,似乎无法得到这个困境的答案。

我的目标是使用具有 div id 的数组将 jQuery 函数连续应用于 div。

我有以下代码由于某种原因无法正常工作:

$(document).ready(function(){
    $('#click').click(function(){ 
        var layout_list = ['1','2','3','4','5','6','7','8','9','10'];
        load_delay = 50;
        for (i = 0; i < layout_list.length; i++ ) {
            load_delay =  load_delay+50;
            setTimeout(function(){
                $("#l_"+layout_list[i]).css("visibility","visible");
                $("#l_"+layout_list[i]).addClass("bounceIn");
            },load_delay);
        }
    });
});
4

1 回答 1

1

您必须使用闭包,例如:

for (i = 0; i < layout_list.length; i++) {
    load_delay = load_delay + 50;
    (function (i) {
        setTimeout(function () {
            $("#l_" + layout_list[i]).css("visibility", "visible");
            $("#l_" + layout_list[i]).addClass("bounceIn");
        }, load_delay);
    }(i));
}
于 2013-09-10T10:05:45.713 回答