Jquery根据浏览器大小/调整大小更改高度

Alt*_*ept 43 javascript browser jquery screen

我想知道是否有办法确定浏览器的高度/宽度.我想要做的是在浏览器大小为1024x768时将div上的高度设置为500px,对于任何更低的值,我想将其设置为400px.

提前致谢

TM.*_*TM. 68

如果您使用的是jQuery 1.2或更高版本,则可以使用以下命令:

$(window).width();
$(document).width();
$(window).height();
$(document).height();
Run Code Online (Sandbox Code Playgroud)

从那里确定元素的高度是一件简单的事情.

  • $(document).height()严重不可靠,导致全屏浏览器的值低于ALMOST全屏浏览器的值.$(window).height()和width()似乎更安全.在任何情况下,你可能对*intent*比对精确值更感兴趣,所以添加一个合理的缓冲区来解释$(window).height和浏览器窗口的外部大小之间的差异可能就是你的'我想要的. (9认同)

Cha*_*ant 47

$(function(){
    $(window).resize(function(){
        var h = $(window).height();
        var w = $(window).width();
        $("#elementToResize").css('height',(h < 768 || w < 1024) ? 500 : 400);
    });
});
Run Code Online (Sandbox Code Playgroud)

滚动条等会影响窗口大小,因此您可能需要调整到所需的大小.

  • 你有没有(h <1024 || w <768)?500:400倒退?我认为问题是将它设为小于1024x768的400.另外,正如另一张海报所提到的,检查高度和宽度与错误的值.那么,s/b .css('height',(h <768 || w <1024)?400:500); (4认同)

Jer*_*jer 25

基于Chad的答案,您还希望将该函数添加到onload事件中,以确保在页面加载时调整其大小.

jQuery.event.add(window, "load", resizeFrame);
jQuery.event.add(window, "resize", resizeFrame);

function resizeFrame() 
{
    var h = $(window).height();
    var w = $(window).width();
    $("#elementToResize").css('height',(h < 768 || w < 1024) ? 500 : 400);
}
Run Code Online (Sandbox Code Playgroud)

  • 或者前两行可以写成一个... $(window).resize(resizeFrame).resize(); (4认同)