我正在尝试在jQuery中定位一个对话框,我有以下代码。它似乎没有做我期望它做的事情。我只需要让对话框居中或出现在我身体的左上角。
这是我的代码
agreeDialog = $j('#termsOfAgreementConfirm').dialog({
modal: true,
autoOpen:false,
resizable:false,
width : 1000,
height :400,
stack:false,
closeOnEscape:false,
title:"Terms of Usage",
open: function(event, ui) {
$j('.ui-dialog-titlebar-close').hide();
},
buttons: {
Disagree: function() {
disagree.dialog('open');
disagree.dialog('moveToTop');
},
Agree: function() {
$j(this).dialog('close');
$j.cookie("agree", "Y");
new Ajax.Request('/myballback/user/ajaxUpdateAgreementForUser',
{
onSuccess:function(resp) {
},
onError: function(resp) {
alert("Error:" + resp.toJSON());
return;
},
asynchronous:true,
evalScripts:true
});
$j(this).dialog('close');
}
}
});
var x = jQuery(agreeDialog).position().left + jQuery(agreeDialog).outerWidth();
var y = jQuery(agreeDialog).position().top - jQuery(document).scrollTop(); //agreeDialog.dialog({width:width, height:height ,position:[posX, posY]});
agreeDialog.dialog('option', 'position',[x, y]);
答案 0 :(得分:3)
你为什么不尝试:
$( ".selector" ).dialog( "option", "position", ['left','top'] );
或
$( ".selector" ).dialog( "option", "position", 'center' );
答案 1 :(得分:2)
您可以使用jQuery dialog
的{{3}}属性来实现此目的;类似的东西:
$j('#termsOfAgreementConfirm').dialog({
...
position: "center",
....
});
来自position
:
指定对话框的显示位置。可能的值:
1)表示视口内位置的单个字符串:'center','left','right','top','bottom'。
2)一个数组,包含一个x,y坐标对,偏离左边,视口的顶角(例如[350,100])
3)包含x,y位置字符串值的数组(例如右上角的['right','top'])