滚动条

Posted 发烧web开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了滚动条相关的知识,希望对你有一定的参考价值。

<div id="showDiv"> 
  <script type="text/javascript">   
      window.onload=function(){   
var obj=document.getElementById("showDiv");   
if(obj.scrollHeight>obj.clientHeight||obj.offsetHeight>obj.clientHeight){ 
document.getElementById("hiddenDiv").style.height="15pt"; 
  } 
  }   
  </script> 
  <div id="hiddenDiv" style="height:"></div> 
</div>


---------------------
当可视区域小于页面的实际高度时,判定为出现滚动条,即:

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

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

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

//执行相关脚本。

}

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

 

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

//执行相关脚本。

 

以上是关于滚动条的主要内容,如果未能解决你的问题,请参考以下文章

BootStrap有用代码片段(持续总结)

BootStrap实用代码片段(持续总结)

几条jQuery代码片段助力Web开发效率提升

第一次进入片段ListView时AsyncTask更新progressBar的进度失败,滚动ListView后就ok了

如何在 ADF 中设置滚动条位置

根据滚动位置播放不同的音频文件