Javascript jQuery对话框定位根据窗口大小自动定位
我有一个问题,因为jQuery对话框会自动将自己定位到窗口大小 例如:Javascript jQuery对话框定位根据窗口大小自动定位,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个问题,因为jQuery对话框会自动将自己定位到窗口大小 例如: #对话框2 $( "#dialog2" ).dialog({ position: [0,1000], autoOpen: false }); 未正确定位到x=0和top=1000,并在浏览器中显示滚动条。相反,它是根据窗口大小来定位自己 有什么建议吗 我想将对话框定位在指定的位置,并在浏览器中显示一个滚动条。我认为JqueryUI对话框根本不允许溢出页面,因此除非您覆盖小部件以允许此操作,否则它将不可能 它应该位
#对话框2
$( "#dialog2" ).dialog({
position: [0,1000],
autoOpen: false
});
未正确定位到x=0和top=1000,并在浏览器中显示滚动条。相反,它是根据窗口大小来定位自己
有什么建议吗
我想将对话框定位在指定的位置,并在浏览器中显示一个滚动条。我认为JqueryUI对话框根本不允许溢出页面,因此除非您覆盖小部件以允许此操作,否则它将不可能 它应该位于$.widget('ui.dialog'{})对象下jquery-ui-VER.js的这个函数中 以下内容对我来说几乎是可行的,因为垂直位置是正确的,但水平位置是错误的 编辑:得到了一个更好的解决方案(和),它可以根据需要在窗口的左侧正确定位 HTML 注意:需要jQuery、jQueryUI和一个jQueryUI主题。基本上,位置选项是“将我的左侧放置在容器左侧,水平偏移量为0px,垂直偏移量为1000px”。collision参数指示jQueryUI在元素溢出窗口时不要重新定位元素(请参阅文档)
最后,还解释了图片的情况:-)很抱歉,这不是一个完整的解决方案。我稍后会尝试更正,但现在会丢失wifi信号!谢谢你,伙计。。如果设置偏移量:“170 1000”则其工作。。但是第一个0是什么?很抱歉耽搁了:-)我有一个不同的解决方案,似乎对我来说是正确的。我在jsBin超时方面遇到了问题,所以添加了一个JSFIDLE演示,而不是更新您原来的演示!
_position : function (a) {
var b = [],
d = [0, 0],
e;
if (a) {
if (typeof a === "string" || typeof a === "object" && "0" in a) {
b = a.split ? a.split(" ") :
[a[0], a[1]];
if (b.length === 1)
b[1] = b[0];
c.each(["left", "top"], function (g, f) {
if (+b[g] === b[g]) {
d[g] = b[g];
b[g] = f
}
});
a = {
my : b.join(" "),
at : b.join(" "),
offset : d.join(" ")
}
}
a = c.extend({}, c.ui.dialog.prototype.options.position, a)
} else
a = c.ui.dialog.prototype.options.position;
(e = this.uiDialog.is(":visible")) || this.uiDialog.show();
this.uiDialog.css({
top : 0,
left : 0
}).position(c.extend({
of : window
}, a));
e || this.uiDialog.hide()
},
<div id="dialog">Hello World</div>
$('#dialog').dialog({
position:{
my:'left',
at:'left',
offset:'0 1000',
collision:'none'
}
});