为什么垂直滚动条没有出现,虽然设置了垂直溢出?

时间:2016-01-07 12:48:50

标签: javascript html css

我有一个侧边栏,有时比主页面大,我尝试设置垂直溢出,但垂直滚动条仍然没有出现。

/**
 * Created by eduard on 07.01.2016.
 */
console.log("Height 1 ", sidebar_height);

if ($(window).height() < sidebar_height + 35) {
    $('body').css('overflowY', 'auto');
    //$("#sidebar").css('overflowY', 'auto');
    console.log("Scrollbar should appear", $(window).height() - sidebar_height);
}
else {
    console.log("Scrollbar should not appear", $(window).height() - sidebar_height);
}

为什么虽然设置了垂直溢出,但不会出现垂直滚动条?

1 个答案:

答案 0 :(得分:1)

将值设置为scroll应该可以解决问题:

$('body').css('overflowY', 'scroll');

它实际上会强制滚动条出现,无论内容是否溢出。

编辑 - 或者,当窗口高度低于此值时,尝试添加一个类:

https://jsfiddle.net/0Lhwfjk6/

我已经针对这个案例略微简化了考试。您需要调整实际浏览器窗口的大小。

jQuery:

/**
 * Created by eduard on 07.01.2016.
 */
console.log("Height 1 ", sidebar_height);

if ($(window).height() < 300) {
    $('.content').addClass('scrollbar');
    //$("#sidebar").css('overflowY', 'auto');
    console.log("Scrollbar should appear", $(window).height() - sidebar_height);
}
else {
    console.log("Scrollbar should not appear", $(window).height() - sidebar_height);
}

<强> CSS:

.scrollbar {
  overflow-y: scroll;
}