我的问题与the SimpleModal jQuery plugin有关。我打开模态窗口没有问题,但一旦打开它就会停留在屏幕上[居中]的位置,但是它的内容正在变化,使其更高,因此不再居中。是否有一种简单的方法可以重新调整它以使它再次居中?
编辑:我认为通过展示两个屏幕截图来解释我的问题会有所帮助:before& after - 基本上我使用的是jQuery的slideUp& slideDown隐藏信用卡表单的功能取决于用户是通过现金/支票还是信用卡付款。显然,在信用卡领域,容器的高度会增加。
我尝试在slideUp / slideDown的回调元素中添加$("div#modal-element").setPosition()
,但无济于事 - 实际上setPosition()
抛出了JS错误,因为显然该函数不存在。我总是尝试添加autoResize选项并将其设置为true。
答案 0 :(得分:3)
由于SimpleModal用于处理窗口调整大小的重新定位,因此最简单的方法是触发该事件。内容更改后,请调用:
$(window).resize();
答案 1 :(得分:2)
如果您处于其中一个回调中,则可以访问所有函数和属性 - 因此您可以调用setPosition()来重新定位对话框。例如:
$(element).modal({
onShow: function (dialog) {
var modal = this;
// do stuff and change the container dimensions
modal.setPosition(); // re-center the container
}
});
我没有测试过代码,但它应该可以运行。
HTH