Javascript 如何使用jQuery UI设置对话框位置?
是的,我知道也有类似的问题——他们没有回答。我还知道jQuery是一个相当古老的框架——但这不是重点 我正在编写一个应用程序,其中使用jQueryUI对话框作为工具窗口。当它们关闭时,应用程序将它们的当前位置保存在cookie中。这样,当您打开应用程序时,窗口将恢复到以前的位置 然而,我不能改变这种立场 我正在尝试使用Javascript 如何使用jQuery UI设置对话框位置?,javascript,jquery-ui,Javascript,Jquery Ui,是的,我知道也有类似的问题——他们没有回答。我还知道jQuery是一个相当古老的框架——但这不是重点 我正在编写一个应用程序,其中使用jQueryUI对话框作为工具窗口。当它们关闭时,应用程序将它们的当前位置保存在cookie中。这样,当您打开应用程序时,窗口将恢复到以前的位置 然而,我不能改变这种立场 我正在尝试使用位置功能进行此操作,如下所示: 在创建对话框之前,我从cookies中获取有关存储位置的信息 // I get only "pointer" to it dlg=$('#dlg-T
位置
功能进行此操作,如下所示:
在创建对话框之前,我从cookies中获取有关存储位置的信息
// I get only "pointer" to it
dlg=$('#dlg-Tiles');
// The first parameter is the window ID in the settings, the second is
// the default parameters for the window position, if there was no
// entry in the configuration
let windowCfg=getWindowConfig(dlg,{
position:{my:"left top", at:"left+100 top+50", of: "#viewport"},
width:200,
height:450});
此函数的结果是具有以下结构的对象:
{
position:{
my:"top left",
at:"top+55 left+550", // values 55 and 550 are examples :)
of:"#viewport"
},
width:200,
height:500
}
简而言之,我使用的是为at
参数指定偏移量的选项
接下来,我创建一个对话框:
dlg.dialog({
appendTo: '#viewport',
autoOpen:false,
position: windowCfg.position,
width: windowCfg.width,
height: windowCfg.height,
resizable: true,
closeOnEscape: false .
})
打开对话框窗口时(调用dlg.dialog('open')
),默认情况下,它的位置是从jQuery UI({my:“center-center”,at:“center-center”,…}
)设置的,而不是从创建对话框窗口时传递的参数设置的
我的问题是。为什么不起作用
例如,让我说以下代码运行时没有问题:
dlg=$('#dlg-Tiles')
dlg.dialog({
appendTo:'#viewport',
autoOpen:false,
position: {my:'left top', at:'left+20 top+20', of:'#viewport'},
resizable:true,
closeOnEscape: false})
dlg.dialog('open');
窗口相对于其左上角打开,相对于其左上角的#viewport
对象打开,偏移量为20向右和20向下
区别在哪里?我的思维错误在哪里?你的代码对我很有用-。我注意到的唯一奇怪的事情可能就是这里的输入错误:1)您的代码交换参数顺序-
左上
和左上
;2) 在closeOnEscape:false之后拖尾
。您是否绝对确定您的getWindowConfig()
函数正确设置了windowCfg
?用console.dir(windowCfg)
检查了它?您关于订单参数左上
/左上
的指导方针很成功。我认为这里的秩序并不重要。谢谢。你的代码对我有用-。我注意到的唯一奇怪的事情可能就是这里的输入错误:1)您的代码交换参数顺序-左上
和左上
;2) 在closeOnEscape:false之后拖尾
。您是否绝对确定您的getWindowConfig()
函数正确设置了windowCfg
?用console.dir(windowCfg)
检查了它?您关于订单参数左上
/左上
的指导方针很成功。我认为这里的秩序并不重要。谢谢