Jquery格式化 - 在另一个完成后运行函数

时间:2012-06-29 00:31:41

标签: jquery

我有两个jQuery函数。下面的第一个我想先运行,比该功能完成时,运行另一个。通常我会在第一段代码中添加一个函数,但不知道我是如何使用这个块或者它是正确的方法。

简而言之,我希望这段代码能够运行......

$('#setupPanel').modal({
        backdrop: "static",
        keyboard: false
});

此功能完成后......

$('html, body').animate({
        scrollTop: $("#header_wrap").offset().top
}, 600);

修改 这是整个功能......

$(setUp).click(function () {
    $('html, body').animate({
        scrollTop: $("#header_wrap").offset().top
    }, 600);
    $('#setupPanel').modal({
        backdrop: "static",
        keyboard: false
    });
});

1 个答案:

答案 0 :(得分:6)

您可以尝试promise()方法:

$(setUp).click(function () {
    $('#setupPanel').modal({
        backdrop: "static",
        keyboard: false
    }).promise().done(function() {
        $('html, body').animate({
            scrollTop: $("#header_wrap").offset().top
        }, 600);    
      });
});

<强>更新

您还可以使用.animate()方法的回调函数:

$(setUp).click(function () {
        $('html, body').animate({
            scrollTop: $("#header_wrap").offset().top
        }, 600, function() {
          $('#setupPanel').modal({
              backdrop: "static",
              keyboard: false
          })
      }});
});