加载回叫提前开火

时间:2013-03-13 15:16:54

标签: javascript jquery jquery-ui

我遇到了jquery加载函数的竞争条件。看起来如果页面加载时间比动画要长,我会看到一个空白对话框。如果它在动画完成之前加载,一切都很好。为什么在DOM正确更新之前发生加载回调?

$(function() {
    $("#diagBox").load($(this).attr('href'), function() {
        $dialog.imagesLoaded(function() {
            $dialog.dialog("option", 'show', {
                effect: "puff",
                duration: 200,
                complete: function() {
                    positionElements();
                }
            });
            $dialog.dialog('open');
            $dialog.dialog("option", "position", "center");
        });
    });
});

imagesLoaded来自desandro

positionElements根据其内容更新对话框的大小并更新jScrollPane,当#diagBox的高度为0时,jScrollPane初始化时页面为空白。

0 个答案:

没有答案