2

我的问题与SimpleModal jQuery 插件有关。我打开模态窗口没有问题,但是一旦打开它就会停留在屏幕上[居中]的位置,但是它的内容正在发生变化,使其更高,因此不再居中。有没有一种简单的方法可以重新对齐它,使它再次居中?

编辑:我认为通过显示两个屏幕截图有助于解释我的问题:之前之后- 基本上我使用 jQuery 的slideUpslideDown功能来隐藏信用卡表单,具体取决于用户是通过现金/支票还是信用卡付款. 显然,信用卡字段增加了容器的高度。

我尝试添加$("div#modal-element").setPosition()slideUp/slideDown 的回调元素,但无济于事——实际上setPosition()是抛出 ​​JS 错误,因为显然该函数不存在。我总是尝试添加 autoResize 选项并将其设置为 true。

4

2 回答 2

3

由于 SimpleModal 被操纵来处理窗口调整大小的重新居中,最简单的方法是触发该事件。内容更改后,只需调用以下代码:

$(window).resize();
于 2010-03-20T00:43:34.997 回答
2

如果您在其中一个回调中,您可以访问所有函数和属性 - 因此您可以调用 setPosition() 以重新居中对话框。例如:

$(element).modal({
    onShow: function (dialog) {
        var modal = this;

        // do stuff and change the container dimensions

        modal.setPosition(); // re-center the container
    }
});

我还没有测试过代码,但它应该可以工作。

高温高压

于 2010-03-19T21:55:29.040 回答