JQuery用户界面位置与对话框

JQuery用户界面位置与对话框,jquery,Jquery,我在使用JQuety UI定位对话框时遇到问题 我在用密码 var divObj = $('#sourceCodeSearchDialog'); divObj.dialog( { position: ['right-800 top-100'] }); 但是,无论我将顶部值设置得多么小,对话框都不会在页面的更高位置出现 调用它的链接位于页面下方相当远的位置,因此它可能是在屏幕顶部(而不是页面)绘制对话框。当在对话框中的文本框上设置焦点时,屏幕将滚动以聚焦文本框。但

我在使用JQuety UI定位对话框时遇到问题

我在用密码

var divObj = $('#sourceCodeSearchDialog');
divObj.dialog(
    {
        position: ['right-800 top-100']
    });
但是,无论我将顶部值设置得多么小,对话框都不会在页面的更高位置出现

调用它的链接位于页面下方相当远的位置,因此它可能是在屏幕顶部(而不是页面)绘制对话框。当在对话框中的文本框上设置焦点时,屏幕将滚动以聚焦文本框。但是,由于对话框不在页面顶部,因此并非所有对话框都可见

我知道一个解决办法是滚动页面,但这会使显示对话框然后滚动的过程非常“紧张”。

试试这个

var divObj = $('#sourceCodeSearchDialog');
divObj.dialog({ 
  // other setting if u want like `modal : true` etc
}, 'position', [800,100]);

我不确定这是否是您所期望的,但请尝试以下方法:

var divObj = $('#sourceCodeSearchDialog');
divObj.dialog(
{
    position: {my: "right-800, top-100", at: "center", of: window}
});

你能加上一些小提琴或其他东西看看发生了什么吗?一个例子可以是
定位:{my:“center”,at:“center”,of:window.top},
如果我把呼叫链接移到页面的更高位置,那么我可以定位对话框OK。看起来我只能在正在显示的窗口中绘制对话框,而不能在页面上的任何位置绘制对话框。位置:{my:“center”,at:“center”,of:window.top},似乎在焦点改变之前将其显示在窗口的中心。因此,对话框出现在屏幕外(页面滚动到顶部,但对话框位于页面中心,位于页面底部下方)。调用对话框的代码位于下方,这可能是导致页面滚动到顶部的原因吗?对不起,那没用。即使将800100数字更改为1,1也不会对对话框的位置产生任何影响,这与我的预期完全不同。这也不起作用,它会在页面下方显示对话框。如果我将top改为top-10000,那么它会将其移动到代码放置的位置。我仍然认为我应该参考页面而不是窗口,有什么想法吗?@EdenUK看看从“中心”改为“顶部中心”是否有效。而且,如果您想引用页面而不是窗口,请将of:window替换为of:document当我看到document选项时,我非常激动,但遗憾的是,它的行为方式是相同的,对话框显示在屏幕的一半。有没有列出所有不同的“选择”选项?有点模糊,可能是因为可能性太多了,它与JavaScript选择器类似。文档、窗口或甚至“#targetElement”#targetElement用于将此上下文中的元素相对于页面中的另一个元素进行定位。像文本框或div.Replce#targetElement,其中包含您希望元素根据其定位的元素。