Jquery的位置没有给出预期的结果

时间:2013-10-28 12:57:59

标签: javascript jquery css jquery-ui

我正在将Jquery版本从jquery-1.6.4.min.js升级到jquery-1.10.2.js

和jquery ui版本从jquery-ui-1.7.2.jjquery-ui-1.10.3.js

我还包括最新版本的jquery-ui.css。

这是我正在使用的脚本标记。

<script type="text/javascript" src="JS/jquery-1.10.2.js"></script> 
<script type="text/javascript" src="JS/jquery-ui-1.10.3.js"></script> 

这样我打开一个对话框。

dialog = $('#dialog-modal-error');
dialog.html (l_str);
dialog.dialog(); /* if i am not using this then it is giving me this error msg.  cannot call methods on dialog prior to initialization; attempted to call method 'option'*/
if (dialog.dialog ('option', 'disabled') == undefined) {
    dialog.dialog (
        {
            autoOpen: true,
            position : { my: 'center', at: 'center'},
            modal : false,
            bgiframe : true,
            buttons: {},
            close : minimizeMessages,
            resizable : false,
            draggable : false
        }

    );


} else {
    dialog.dialog ('open');

}

因此它始终在页面的右下角打开我的对话框,所以只想知道为什么它会向我显示这种行为。

我已经检查过它没有接受任何继承的css的所有css。

修改

我也使用了position : { my: 'center', at: 'center', collison: 'none'},但没有用。

使用jquery的最后一个版本,它工作正常。

注意:对话框始终显示在屏幕外(Left -Bottom)

2 个答案:

答案 0 :(得分:0)

查看jQuery UI文档(http://api.jqueryui.com/dialog/#option-position),似乎您已将of属性保留。 position的默认值为{ my: "center", at: "center", of: window }。因此,请尝试指定of: window属性。

答案 1 :(得分:0)

使用'of'属性正确定位。你想在哪里定位?

例如:

position:{ my: "center", at: "center", of: $("#aDiv")}

这也可以理解为: 将对话框的中心放在div的中心,并带有ID aDiv。