2012-02-16 180 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' 
} 

为我工作。