javascript - 使用 jQuery 监听浏览器宽度/高度变化

标签 javascript jquery resize height width

我有一些 div 在页面准备好时设置了绝对位置 (CSS),并且相对于另一个固定的 div 定位,效果很好。然而,在加载页面并设置所有内容之前,如果调整页面大小,那些绝对 div 不会跟随变化,移动到其他地方,我认为它们被赋予相对于屏幕顶部和左侧的值。

我用作定位绝对 div 的起点的相对 div 的位置也可能相对于它上面的 div 改变位置。

有什么方法可以监听浏览器宽度/高度的变化,以使这些 div 保持在正确的位置吗?

最佳答案

首先,您要开始将窗口调整大小事件绑定(bind)到您选择的函数。

$(window).on("resize", methodToFixLayout);

现在您可以确定新的高度和宽度,并从那里对页面进行调整。

function methodToFixLayout( e ) {
    var winHeight = $(window).height();
    var winWidth = $(window).width();
    //adjust elements css etc.....
    //$("#someDiv").css('someProperty',someValue based on winHeight and winWidth);
}

如果没有关于您的布局的更多细节,很难说出您究竟需要进行哪些更改,但这应该会让您朝着正确的方向前进。

关于javascript - 使用 jQuery 监听浏览器宽度/高度变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655343/

相关文章:

javascript - 使用注释循环选项时 knockout 重置值

javascript - 有人可以解释一下这个看似奇怪的分配 `{key=value} = argument`

javascript - 在 addClassRules 中添加组

javascript - 将圆形图像分成 4 片

jquery - 我是否需要将 application.js 中的每个 Javascript 函数都包含在 $(function() {} 中?

javascript - 如何等待 'end' 事件的 'resize' 然后才执行操作?

javascript - 如何在 Javascript 中使用 arry 元素作为数组名称

javascript - 拉斐尔和拉斐尔有什么区别?

Python:调整现有数组的大小并用零填充

jquery - 使用 jQuery UI 调整 iFrame 大小