使用jQuery计算div的高度 - 减去页眉和页脚

时间:2012-10-09 01:47:51

标签: jquery

我正在使用粘性页脚(负边距解决方案),它运行正常。我需要做的是计算窗口的高度,减去页眉和页脚的已知高度然后应用该数字并将其用作主包装div的高度。 CSS解决方案会导致其他问题,有没有一种好方法可以做到这一点?

var h = window.height();
var k = 300; //header is 100px footer is 200px
$('#wrap').height(h-k);
粗略的想法,请帮助。

3 个答案:

答案 0 :(得分:2)

你有正确的想法:

var h = window.innerHeight;
var k = 300;
$('#wrap').height(h-k);

但是,我建议在CSS中执行此操作,因为在JavaScript中执行此操作时没有特定原因是不好的形式。

答案 1 :(得分:2)

只需将我的评论重写为ans。这就是我通常做的事情:

$(function() {
    $(window).bind("resize", function() {
        var height = $(window).height();
        var k = 112;

        $('#sidebar').height(height - k);

    }).trigger("resize");
});

答案 2 :(得分:1)

我正走在正确的轨道上,正如rrowland和Mifeng指出的那样。经过多一点挖掘,我能够想出这个,完全符合我的需求。谢谢你的推动!

<script type="text/javascript">
  var callback = function () {
     var h = $(window).height();
     var k = 112;
     $('#sidebar').height(h-k);
  };
  $(document).ready(callback);
  $(window).resize(callback);
</script>