我遇到了 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 时页面为空白。