1

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

var h = window.height();
var k = 300; //header is 100px footer is 200px
$('#wrap').height(h-k);

粗略的想法,请帮助。

4

3 回答 3

2

You have the right idea:

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

However, I'd recommend doing this in CSS as doing this in JavaScript without a specific reason is bad form.

于 2012-10-09T01:52:39.257 回答
2

只需将我的评论改写为ans。这是我通常做的:

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

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

    }).trigger("resize");
});
于 2012-10-09T03:34:08.253 回答
1

正如罗兰和米峰指出的那样,我走在了正确的轨道上。经过更多的挖掘,我能够想出这个,这完全符合我的需求。谢谢大佬们的推!

<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>
于 2012-10-09T02:10:04.583 回答