我知道这个问题已被问到令人作呕,但我很难过,因为在尝试了几种不同的解决方案之后,我仍然无法让我的脚本正确检测滚动条。
以下是我目前用来尝试检测滚动条的功能:
function checkScrollBar() {
var hContent = $("body").height(); // get the height of your content
var hWindow = $(window).height(); // get the height of the visitor's browser window
if(hContent>hWindow) { // if the height of your content is bigger than the height of the browser window, we have a scroll bar
return true;
}
return false;
}
问题是即使在我的页面上有一个垂直滚动条弹出,因为页面的内容比我的笔记本电脑上的窗口长,这个功能仍然说窗口高度等于身高。
我还是javascript / jQuery的新手,所以如果我错过了一个重大错误,请保持温和。
答案 0 :(得分:1)
您需要考虑页面的偏移量。
function checkScrollBar() {
var hContent = $(document).height(); // get the height of your content
var hWindow = $(window).height(); // get the height of the visitor's browser window
if(hContent>hWindow) { // if the height of your content is bigger than the height of the browser window, we have a scroll bar
return true;
}
return false;
}
答案 1 :(得分:0)
它的一个小插件。
(function($) {
$.fn.hasScrollBar = function() {
return this.get(0).scrollHeight > this.height();
}
})(jQuery);
像这样使用它,
$('#my_div1').hasScrollBar(); // returns true if there's a `vertical` scrollbar, false otherwise..
在Firefox,Chrome,IE6,7,8上进行了测试。