-1

ポップアップするダイアログがあり、$(document).ready(function() {ページ全体がブロックされますmodal : true

        $(function () {
            $("#dialog").dialog({
                show: { effect: 'drop', direction: "up" },
                hide: "explode",
                modal: true,
                draggable: false,
                resizable: false
            });
        });

問題は、起動時$(document).ready(function() {にページ内のすべての画像が読み込まれない可能性があることです。

その結果、オーバーレイの高さが実際のページよりも小さくなります。

(例 :) 2 つの画像 (高さ 100px) を含むページがあります。起動する$(document).ready(function() {と、高さが 800px になり、高さが 800px のオーバーレイが表示されます。その後、画像が読み込まれると、1000px のページが表示されます...下にスクロールすると、オーバーレイによってブロックされていない下部に 200px があります。


私がやろうとしているのは、ダイアログがもちろん閉じられていない場合、$(window).load(function() {いつ起動するか(すべてが読み込まれるため)、オーバーレイの高さを更新することです。

すべての画像が読み込まれると、+/- をズームしたり、Chrome の開発者ツールを開くと、オーバーレイの高さが更新されることに気付きました。

ありがとうございました!

4

1 に答える 1

0

私はそれを修正しました.これを行うためのより効率的な方法があるのだろうか..

    $(function () {
        $("#dialog").dialog({
            show: { effect: 'drop', direction: "up" },
            hide: "explode",
            modal: true,
            draggable: false,
            resizable: false
        });
    });

    $(window).load(function() {
        $(window).resize();
    });

そのため、ダイアログをポップし、画像が読み込まれると、サイズを更新するだけです..

于 2013-04-20T08:17:55.503 に答える