我想计算窗口的剩余高度,减去所有其他页面元素的高度,以便我可以将所述高度分配给DIV。我认为我的结构是正确的,我只是不确定语法。jQuery:高度计算DIV填充视口的余数
$('#container').height($(window).height() - $('#a, #b, #c, #d').height());
https://jsfiddle.net/0gtkgLem/4/
我想计算窗口的剩余高度,减去所有其他页面元素的高度,以便我可以将所述高度分配给DIV。我认为我的结构是正确的,我只是不确定语法。jQuery:高度计算DIV填充视口的余数
$('#container').height($(window).height() - $('#a, #b, #c, #d').height());
https://jsfiddle.net/0gtkgLem/4/
jQuery的.height()
仅获取所选元素集合中第一个元素的高度。所以你需要分别选择每一个,并自己决定它的高度。
从文档:
获得在该组匹配元件的第一元件的电流计算出的高度或设置每个匹配的元件的高度。
$('#container').height($(window).height() - $('#a').height() - $('#b').height() - $('#c').height() - $('#d').height());
我觉得你的语法是正确的。你的jsfiddle
不工作,因为你不包括jQuery插件。请参阅https://jsfiddle.net/0gtkgLem/1/
谢谢贾斯珀! 效果很好!我忘记了容纳边际,我认为他们将被包括在元素高度,但我猜不是。 现在我正在处理这个问题:https://jsfiddle.net/0gtkgLem/6/ 这是一个更优雅的解决方案,在您看来,切换到填充和解决CSS的问题,或通过jQuery的? – patrick
@patrick看看'.outerHeight(true)'获取元素的高度,包括填充和可选的边距:http://api.jquery.com/outerheight/。更新的小提琴:https://jsfiddle.net/0gtkgLem/7/ – Jasper