web-dev-qa-db-ja.com

jQuery UIダイアログの配置:位置の上部を20ピクセルずつ調整します-

dialogがあり、これはajax呼び出しによって満たされます。 dialogmax-heightを制限し、scroll-ableの場合はmax-heightを超えています。以下のコードは、まさに私が望むことをします。

問題は、ダイアログのtoptop positionから移動できないことです。左右に動かすことができます。 ダイアログが大きなスクロール可能なウィンドウに表示されるため、centerも使用できません。 firebugを使用すると、topプロパティを調整できますが、ゼロに設定されている場所を見つけることができません。

$("#your-dialog-id").dialog({
    open: function(event, ui) {
        $(this).css({'max-height': 500, 'overflow-y': 'auto'});
    },
    autoOpen:false,
    modal: true,
    resizable: false,
    draggable: false,
    width: '690',
    closeOnEscape: true,
    position: 'top'
});

ダイアログのy位置を調整して、ウィンドウの上部から20ピクセルになるようにします。私にできることはありますか?

28
chris loughnane

最後の値を変更することで問題が解決しました。

position: ['center',20] 

http://jsfiddle.net/chrisloughnane/wApSQ/

61
chris loughnane

最も簡単な方法は次のとおりです。

$("#dialog").dialog({ position: { my: "center", at: "top" } });
10
Yogesh Avhad

jquery UI 1.11.4を使用する

        var Y = window.pageYOffset;

        $( "#dialogJQ" ).dialog({
            modal: true,
            closeOnEscape: false,                
            width:'auto',
            dialogClass: 'surveyDialog',
            open: function(event, ui) {
                $(this).parent().css({'top': Y+20});
            },
        });
3
Himalaya Garg