用jquery获取垂直滚动条的高度

时间:2013-01-26 00:32:03

标签: jquery

我正在构建一个带侧边栏的webapp,我希望侧边栏始终像这样安装在视口中 image1

并且当应用程序处于全屏模式时也适合视口。 我怎么能用jquery实现这一点。 我试过从文档

中减去标题的高度
$(document).ready(function() {
        var bodyheight = $('body').height();
        $(".app-sidebar").height(bodyheight);
    });

    // for the window resize
    $(window).resize(function() {
        var bodyheight = $(document).height();
        var header = $('.app-north').innerHeight();
        $(".app-sidebar").height(bodyheight - header);
    });

1 个答案:

答案 0 :(得分:1)

为什么不使用css位置:固定并给侧边栏一个最小高度:100%。使用jQuery或javascript来调整窗口大小调整大小将非常不稳定。无论如何,要获得视口的高度,您应使用$(window).height而不是document。这是一个应该起作用的功能:

var prev,
  const_header_height = $('.app-north').innerHeight(),
  $app_sidebar = $('.app-sidebar'); // get the element first to avoid hitting the DOM each call of resize()

function resize () {
  var curr = $(window).height()
  // only resize if new height is different
  if (curr != prev) {
    $app_sidebar.height(curr - const_header_height);
    prev = curr;
  }
}

$(window).on("resize", resize)
$(document).ready(resize)