1

モーダルポップアップダイアログにjqueryuiダイアログを使用しています。Firefox / Chromeではうまく機能していますが、IE6ではひどいです。

問題: IE6でダイアログを表示すると、ブラウザウィンドウが大きくなり、自動的に一番下までスクロールします。高さの増加と自動スクロールダウンは、jqueryダイアログの高さと同じです。

上にスクロールしてダイアログを通常どおりに使用できますが、ウィンドウが大きくなり、ドロップする動作は、気が遠くなるほど受け入れられません。

これが私がウィンドウを起動する方法です:

<div id="dialogWindow"></div>

...

       $(document).ready(function() {
            var $dialog = $("#dialogWindow").dialog({
                autoOpen: false,
                modal: true,
                minWidth: 560,
                width: 560,
                resizable: "true",
                position: "top"
            });

            $('.addButton').click(function(e) {
                e.preventDefault();
                $('#dialogWindow').load('http://myurl');
                $dialog.dialog('open');
            });
        });

私はすでに、ie6オーバーレイの問題の鍵となるjquery用のbgiframeプラグインを使用しています。しかし、これはそれとは無関係のようです。誰かがこれを以前に見て、回避策を見つけたことがありますか?

4

2 に答える 2

2

私は以前にこの動作を見たことがあり、通常はオーバーレイが原因です。{modal:true}オプションを使用すると、プラグインがロードされている場合、オーバーレイが作成され、 bgiframeサポートでレンダリングされます。

まず、{modal:false}を回してみて、ページがパンクしていないかどうかを確認してください。そうすれば、それがオーバーレイであることがわかります。

それが原因であるかどうかを確認することがいくつかあります。

  • オーバーレイのスタイルが正しく読み込まれていることを確認します。jquery-uidialog.cssを含める必要があります
  • position:およびfloat:スタイルを試してみてください
  • ダイアログマークアップを</body>タグのすぐ上に移動して、モーダルオーバーレイが正しくエスケープされるようにしてください。
于 2010-04-30T23:39:53.710 に答える
0

ある時点で同様の問題が発生しました。

$('.addButton').click(function(e) {
    e.preventDefault();
    $('#dialogWindow').load('http://myurl');
    var y = window.pageYOffset;
    var x = window.pageXOffset
    $dialog.dialog('open');
    window.scrollTo(x, y); // horizontal and vertical scroll targets
});

上記で行うべきことは、現在のスクロール座標を取得して保存することです。ダイアログが開いたら、メモリ内の前の位置にスクロールして戻ります。ほぼ瞬時に、ユーザーには見えないようにする必要があります。

于 2010-04-30T20:53:48.553 に答える