【发布时间】:2013-03-04 06:27:20
【问题描述】:
好的,所以我试图让一个元素成为页面的完整高度。即使我调整或打开检查元素框并关闭它,我的 html 元素也匹配页面大小,但我的正文和其他元素不会,所以我使用 javascript 使我的元素与 html 框的大小一致,这可行,但是当您调整浏览器窗口的大小或关闭/打开开发人员工具时,html 元素会调整大小,但其他元素不会。
有没有办法在我的 html 元素上添加一个监听器,以便在它改变高度时运行一个函数?
这是我尝试使用某人建议但不起作用的一些代码:
$('#program-cell').height($('html').height());
$('html').resize(function () {
$('#program-cell').height($('html').height());
});
添加 .resize() 插件后,其中一个答案表明我几乎可以让它工作。打开和关闭开发人员工具时它可以工作,但调整窗口大小并没有改变任何东西。我猜是因为我匹配了 html 元素的大小,但 html 元素会增长以匹配我正在调整大小的对象的大小,这意味着它只会变大而不会变小。
我必须清除我正在调整大小的对象的高度,方法是将其高度设置为自动,然后匹配 html 的高度。我终于让它工作了,这是工作的代码:
$('#program-cell').height(($('html').height()-84)+'px');
$('html').resize(function () {
$('#program-cell').height('auto');
$('#program-cell').height(($('html').height()-84)+'px');
});
我有 -84 来减去我的标题的高度。
【问题讨论】:
-
请提供一些代码......
-
我尝试了 .resize 但也许它只适用于窗口?不是元素?
-
我不太确定你在问什么。是页面滚动的问题吗?你想让所有东西的高度都限制在窗口内吗?
-
我想知道是否有某种方法可以在我的 html 元素上添加一个监听器,以便在它改变高度时运行一个函数。有一个插件,其中一个答案链接到。
标签: javascript jquery html css height