2012-02-16 206 views
23

我正在使用JQuery UI,並希望將我的對話框定位在水平居中但垂直位於中心上方,可能是固定數量的像素或距離頁面頂部的相對距離。是否有捷徑可尋?它看起來像只是一些預先定義的值,或者我可以使用一個確切的位置,但有沒有簡單的方法來完成這個?jqueryui對話框定位

$("#dialog-form").dialog({ 
       autoOpen: false, 
       width: 630, 
       position: 'center', 
       modal: true, 
       resizable: false, 
       closeOnEscape: false 

      }); 
+0

你試過'['center','top']'嗎? – 2012-02-16 02:52:49

+0

這使對話框在中間水平顯示,但在頁面的頂部(假設我沒有錯誤地做到這一點)。我想將對話框放在中心上方一點。 – 2012-02-16 03:00:49

回答

73

使用position option將對話框頂部與窗口頂部對齊(加上像素或百分比偏移量)。

這應該水平放置對話框的中心並將其放置在距頂部150像素處。

$("#dialog-form").dialog({ 
    autoOpen: false, 
    width: 630, 
    position: { my: 'top', at: 'top+150' }, 
    modal: true, 
    resizable: false, 
    closeOnEscape: false 
}); 

jQuery的用戶界面的舊版本使用含有[X,Y]的數組座標中像素對由左,視口的頂端角偏移(例如,[350100])。

var dialogWidth = 630; 
$("#dialog-form").dialog({ 
    // ... 
    width: dialogWidth, 
    position: [($(window).width()/2) - (dialogWidth/2), 150], 
    // ... 
}); 
+1

應該注意的是,數組方法已被棄用。改爲使用對象。 – JasCav 2013-08-20 16:04:41

+0

已更新爲使用位置對象(適用於較新版本的jQuery UI) – 2014-02-25 19:53:24

+0

請注意,您可以控制兩個對象的x,y。 ** position:{my:「center top」,at:「center top」,of:window},** – Lodlaiden 2017-03-15 11:17:48

-5

應用CSS到您#對話框的形式使用%樣品

如果寬度= 1000

左:50% 保證金左:-500px;

使其居中。或者你可以使用iframe。

1

我碰到這個而尋找同樣的問題BU我已經有了我的答案:

position: ['center', 'top+100'] 

這將水平居中,並從頂部

這100像素的作品也

position: ['center', 'center+100'] 

水平中心和中心下方100像素

0

我調整了Exlord的答案。

位置:[ '中心-7%', '中心-12%']

該水平和垂直調整

$(".popup").dialog({  
position: ['center-7%', 'center-12%'], 
title: 'Updating', 
    width: "auto", 
} 
}); 
2

這爲我

position: { my: "center", at: "center", of: window }, 

你也可以在這裏檢查對話位置
Find Position

0

試試這個:

position: { 
     my: 'top', 
     at: 'top', 
     of: $('#some-div') 
    }, 
0
position: { 
    my: 'top', 
    at: 'top+150' 
} 

爲我工作。