jqueryui对话框定位

Posted

技术标签:

【中文标题】jqueryui对话框定位【英文标题】:jqueryui dialog positioning 【发布时间】:2012-03-07 11:17:21 【问题描述】:

我正在使用 JQuery UI,并希望将我的对话框水平居中但垂直高于中心,可能是固定数量的像素或与页面顶部的相对距离。是否有捷径可寻?看起来只有几个预定义的值,或者我可以使用一个确切的位置,但有没有简单的方法来完成这个?

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

            );

【问题讨论】:

你试过['center', 'top']吗? 这使得对话框水平显示在中心但在页面顶部(假设我没有做错)。我想将对话框定位在中心上方一点。 【参考方案1】:

将 css 应用到您的#dialog-form use % 示例中

如果宽度 = 1000

左:50% 左边距:-500px;

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

【讨论】:

【参考方案2】:

使用position option 将对话框顶部与窗口顶部对齐(加上一个像素或百分比偏移)。

这应该使对话框水平居中,并将其放置在距顶部 150 像素的位置。

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

旧版本的 jQuery UI 使用了一个数组,其中包含一个 [x,y] 坐标对,像素偏移距视口的左上角(例如 [350,100])。

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

【讨论】:

需要注意的是,数组方法已经被弃用了。改为使用对象。 更新为使用位置对象(对于较新版本的 jQuery UI) 注意,您可以控制两个对象的 x,y。 位置: my: "center top", at: "center top", of: window ,【参考方案3】:

我在搜索同一个问题时遇到了这个问题,但我已经有了答案:

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

这将水平居中,距离顶部 100 像素

这也有效

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

水平居中,距中心下方 100 像素

【讨论】:

【参考方案4】:

我调整了 Exlord 的答案以适合。

位置:['center-7%', 'center-12%']

这会水平和垂直调整

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

);

【讨论】:

【参考方案5】:

这对我有用

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

您也可以在此处查看对话位置Find Position

【讨论】:

【参考方案6】:

试试这个:

    position: 
        my: 'top',
        at: 'top',
        of: $('#some-div')
    ,

【讨论】:

【参考方案7】:
position:  
   my: 'top', 
   at: 'top+150' 

为我工作。

【讨论】:

【参考方案8】:

如果由于链接的 class 具有单击事件处理程序而创建打开 jQuery 对话框的链接,您可能注意到它可能会跳转到顶部该页面,但在页面更深处创建模式对话框,您必须滚动到它。

如果有人只是试图阻止 jQuery 对话框跳到顶部,希望它停留在您单击的链接附近,只需删除 href。几乎疯了试图解决这个问题。 html5 规范显然将href=""href="#" 理解为移到顶部。

【讨论】:

以上是关于jqueryui对话框定位的主要内容,如果未能解决你的问题,请参考以下文章

加载新对话框时出现 Jqueryui 对话框问题

覆盖 jQueryUI 对话框默认选项

Django/Jquery UI 对话框 - 如何将 Django 与 JqueryUI 对话框集成?

jQueryUI 对话框宽度

JQueryUI 对话框:“自动”宽度不考虑垂直滚动条

如何让 jQueryUI 对话框动态加载内容