1

jquery の load 関数で競合状態に陥っています。アニメーションよりもページの読み込みに時間がかかる場合、空白のダイアログが表示されます。アニメーションが完了する前に読み込まれる場合は、すべて問題ありません。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 が初期化されているため、ページは空白です。

4

0 に答える 0