2

私の問題は、SimpleModaljQueryプラグインに関係しています。モーダルウィンドウを開くのに問題はありませんが、一度開くと画面の[中央]の位置に留まりますが、内容が変化し、背が高くなり、中央に配置されなくなります。再び中央に配置されるように再調整する簡単な方法はありますか?

編集: 2つのスクリーンショットを表示することで問題を説明するのに役立つと思います:-基本的に、ユーザーが現金/小切手またはクレジットカードのどちらで支払うかに応じて、 jQueryのslideUpおよびslideDown機能を使用してクレジットカードフォームを非表示にします。明らかに、クレジットカードのフィールドでは、コンテナの高さが高くなります。

$("div#modal-element").setPosition()slideUp / slideDownのコールバック要素を追加しようとしましたが、役に立ちsetPosition()ませんでした。実際、関数が存在しないため、JSエラーがスローされています。私はいつもautoResizeオプションを追加してtrueに設定しようとしました。

4

2 に答える 2

3

SimpleModalは、ウィンドウのサイズ変更での再センタリングを処理するように調整されているため、最も簡単な方法は、そのイベントをトリガーすることです。コンテンツが変更されたら、次のように呼び出します。

$(window).resize();
于 2010-03-20T00:43:34.997 に答える
2

コールバックの1つにいる場合は、すべての関数とプロパティにアクセスできるため、setPosition()を呼び出してダイアログを中央に戻すことができます。例えば:

$(element).modal({
    onShow: function (dialog) {
        var modal = this;

        // do stuff and change the container dimensions

        modal.setPosition(); // re-center the container
    }
});

コードをテストしていませんが、動作するはずです。

HTH

于 2010-03-19T21:55:29.040 に答える