Javascript 在调整大小时匹配另一个元素的高度

Javascript 在调整大小时匹配另一个元素的高度,javascript,jquery,html,css,height,Javascript,Jquery,Html,Css,Height,好的,我试着让一个元素成为一个页面的全高。我的html元素与页面大小相匹配,即使我调整大小或打开inspect元素框并将其关闭,但我的主体和其他元素不会匹配,因此我使用javascript将我的元素设置为html框的大小,这是可行的,但当您调整浏览器窗口大小或关闭/打开开发人员工具时,html元素会调整大小,但另一个元素不会 有没有办法在我的html元素上添加一个侦听器,以便在函数改变高度时运行它 下面是一些代码,我试着使用一些人建议的代码,但不起作用: $('#program-cell').h

好的,我试着让一个元素成为一个页面的全高。我的html元素与页面大小相匹配,即使我调整大小或打开inspect元素框并将其关闭,但我的主体和其他元素不会匹配,因此我使用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减去页眉的高度。

你根本不需要JavaScript

html,正文{高度:100%;}
div{高度:100%;}

如果分隔符的父项的值不是100%高度,则分隔符相对于页面正文的高度将不是100%


有一个插件可以添加监听器来调整元素大小,您可以使用它来实现这一点。看看


或者,
.resize()
可以在窗口上工作。

请输入一些代码……。我尝试了.resize,但可能只在窗口上工作?不是元素?我不太清楚你在问什么。是页面滚动的问题吗?您希望所有内容的高度都限制在窗口内吗?我想知道是否有某种方法可以在html元素上添加一个侦听器,以便在它改变高度时运行函数。有,有一个插件,其中一个答案链接到。我尝试过这种方式,但我的div是非常嵌套的,身体没有改变它的高度,挖掘它将花费太长时间,我在一个最后期限。我举了一个例子来证明这一点。投票否决我的答案,因为你不准备花时间解决你的问题,这也是一件很蹩脚的事情。具有100%高度的嵌套分隔符将具有其父分隔符的100%高度。例如,如果您的100%高度分隔器的父级仅具有30px的高度,则您的100%高度分隔器将仅具有30px的高度。向下投票?我没有投任何反对票。。。我是在这里提出问题的人,我会全神贯注于任何可能的解决方案!我理解嵌套是如何以100%的高度工作的,这就是为什么我不想这样做,因为我必须向嵌套的每个元素添加100%,就像我说的,它是非常嵌套的。此外,我甚至不能让它嵌套的第一个元素工作,所以使用javascript并强制它似乎简单得多。不用担心。很抱歉指责你投了反对票。插件不错。它不负责调整窗口大小,但负责打开和关闭开发人员工具箱。您可以使用它调用父元素上的
.resize()
,该父元素随div改变大小,然后将javascript/jQuery放入resize中的函数中吗?类似于
(更改div).resize(函数调整大小)
好的,我用这个来工作。问题是html的高度被我正在编辑的对象的高度所改变,所以我不得不再次将其缩小以获得html的高度。这很难解释,我会在我的问题中发布我的代码。