-1

我有一个弹出的对话框$(document).ready(function() {,它用modal : true.

        $(function () {
            $("#dialog").dialog({
                show: { effect: 'drop', direction: "up" },
                hide: "explode",
                modal: true,
                draggable: false,
                resizable: false
            });
        });

问题是当$(document).ready(function() {触发时,页面中的所有图像可能都没有加载。

它导致叠加层的高度小于页面的实际高度。

(例如:)您有一个包含 2 张图片(高度为 100 像素)的页面。触发时$(document).ready(function() {,您的高度为 800 像素,然后覆盖层出现,高度为 800 像素。之后,当图像有时间加载时,你有一个 1000px 的页面......所以如果我向下滚动,底部有 200px 未被覆盖层阻挡。


我想要做的是,什么时候$(window).load(function() {会触发(所以一切都会被加载),如果对话框当然没有关闭,刷新覆盖的高度

我注意到,一旦加载了所有图像,如果我缩放 +/- 或如果我打开 Chrome 的开发人员工具,它会刷新覆盖高度。

谢谢!

4

1 回答 1

0

我修复了它,我想知道是否有更有效的方法来做到这一点..

    $(function () {
        $("#dialog").dialog({
            show: { effect: 'drop', direction: "up" },
            hide: "explode",
            modal: true,
            draggable: false,
            resizable: false
        });
    });

    $(window).load(function() {
        $(window).resize();
    });

所以我弹出对话框,然后在加载图像时,我只是刷新大小..

于 2013-04-20T08:17:55.503 回答