在窗口调整大小时设置最小高度和最小宽度

时间:2013-09-23 14:50:19

标签: javascript jquery html css

首先请原谅我,如果这是重复,但我一直在尝试其他帖子的解决方案,但它们似乎都不适合我。

这就是我想要实现的目标:

我想用文档的当前宽度和高度设置div的最小高度和最小宽度。每次调整文档窗口大小时都会触发事件。

这是我到目前为止所尝试的内容:

$(document).ready(function() {

function reset_demensions() {
    doc_height = $(document).height();
    doc_width = $(document).width();
    $(".flicker-div").css("min-width", doc_width + "px");
    $(".flicker-div").css("min-height", doc_height + "px");
    alert("From - Function" + doc_width + "x" + doc_height);

}

    reset_demensions(); 
    $(window).resize(function() {
        reset_demensions();

    });

});

我面临的问题:

首次加载窗口时,会显示正确的宽度和高度。但是当我尝试手动调整窗口大小时,会发现两个问题:

1>该功能被调用两次,即警告框 2 - ;捕获的文档高度不会改变。 3 GT;捕获的文档宽度不断增加,并且值不是垃圾,因为每次运行都是静态的。

测试运行OUTPUT:

On Load:
1349x626
On Resize:
1369x3130
1389x15650

我相信我在这里错过了一些东西,可能是非常愚蠢的东西。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

我认为你的错误在于你正在捕捉 DOCUMENT 的高度而不是窗口。

您要更改window尺寸并希望更改document尺寸。

更改您的代码以检查$(window).height()$(window).width()

答案 1 :(得分:1)

首先你不需要+'px';

刷新后重新加载浏览器。它应该工作还是?

几天前,由于document.width / document.height,我遇到了同样的问题并认出了它。

是否可以使用window.width / window.height计算相同的内容?

在调整窗口大小的每一步调用该函数,但是你可以添加超时,因此它只会被执行一次。 - >超时插件http://benalman.com/projects/jquery-dotimeout-plugin/

答案 2 :(得分:1)

不确定这是否会产生影响,但您不需要将您的函数定义嵌套在onready函数中。它可能对函数/垃圾收集的范围等有一些影响?您可以在onready之前安全地定义函数,因为在文档准备好之前不会调用它。同时从它的位置取出警报。这样做会导致我很多浏览器崩溃,因为事件触发的速度很快,并且当您调整窗口大小时它会尝试触发警报!

您可能也想尝试$(window).width(),因为这可能会解释您的累积结果,因为您调整div时文档会变大,尤其是在某处有填充/边距的情况下。