JS判断页面是否出现滚动条

转载地址:http://www.cnblogs.com/yazdao/archive/2010/12/06/1897742.html

下面是在网上搜索到的代码:

用JS判断页面是否出现滚动条,在网上看了一些代码,经过验证并不起作用,当可视区域小于页面的实际高度时,判定为出现滚动条,即:

if (document.documentElement.clientHeight < document.documentElement.offsetHeight) scroll = true;


 

要使用 document.documentElement ,必须在页面头部加入声明:




其实,这段代码是不起作用的,因为他没考虑到一个问题,就是浏览器的边框,当我们在获取页面的offsetHeight高度时是包括了浏览器的边框的,浏览器的边框是2个像素,所以这时无论在任何情况下clientHeight 始终是小于offsetHeight的,这就使得即使没有滚动条它也为true,因此我们要修正这个错误,代码应该这样改,在offsetHeight上减去4个像素,即:

if (document.documentElement.clientHeight < document.documentElement.offsetHeight-4){

//执行相关脚本。

}


还有,这里要搞清楚,上面这代码是判断横向滚动条的,我们一般要判断的是纵向滚动,代码如下:

if (document.documentElement.clientWidth < document.documentElement.offsetWidth-4){

//执行相关脚本。

}


 

 

你可能感兴趣的:(JS判断页面是否出现滚动条)