在另一个函数之后加载javascript函数

时间:2011-12-09 07:18:19

标签: javascript jquery

我有两个功能。我希望moduleList()加载AFTER reloadModules()

reloadModules();
moduleList();

function reloadModules() {
    $.get(v2_settings_url + 'v2_nav/', null, function(responseText) {
        $('#dock ul').html(responseText).parent().fadeIn();
    });
    $.get(v2_settings_url + 'v2_edit_bar_nav/', null, function(responseText) {
        var target = $('#edit-nav-bar-settings-div');
        target.html(responseText);
    });
};

2 个答案:

答案 0 :(得分:4)

然后只需将moduleList();函数作为回调函数(参数)传递给reloadModules();函数。然后以这种方式链接你的ajax调用和moduleList();函数:

reloadModules(moduleList);

function reloadModules(moduleList) {
    $.get(v2_settings_url + 'v2_nav/', null, function(responseText) {
        $('#dock ul').html(responseText).parent().fadeIn();
        $.get(v2_settings_url + 'v2_edit_bar_nav/', null, function(responseText){
            var target = $('#edit-nav-bar-settings-div');
            target.html(responseText);
            moduleList();
        });
    });
};

现在,简单来说,您告诉浏览器:

  1. 执行reloadModules函数,同时传递moduleList函数。
  2. 从服务器获取内容
  3. 如果成功,请从服务器
  4. 获取其他内容
  5. 如果成功,请运行moduleList功能

答案 1 :(得分:1)

调用moduleList();在reloadModules()的末尾;并调用reloadModules()来调用它们! 希望这会有所帮助。