使用ajax/jquery按特定顺序加载元素

3
当有人进入我的页面时,我希望首先加载页面上的#portfolio#header div。然后,在前两个div完成加载后,我想要开始加载#slide(以改善功能)。
请问如何使用ajax/jquery实现这一点?
非常感谢!
2个回答

7

我猜想您正在使用调用$.ajax来加载#portfolio#header

从jQuery 1.5开始,您可以使用$.when在多个AJAX请求完成时执行操作:

$.when(
    $.ajax({
        /* options to load #portfolio */
    }),
    $.ajax({
        /* options to load #header */
    })
).then(function() {
    $.ajax({
       /* options to load #slide */
    });
});

1

您可以嵌套Ajax调用,并在前一步骤的成功Ajax调用中获取每个下一步骤。

$.ajax({ // Getting portfolio hear
     success: function(){
        $.ajax({ // Getting header here, on success callback of portfolio call
            success: function(){
                $.ajax({ // Getting slide here, on success callback of header
                    // So on,
                });
             }
        });
     }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接