zoukankan      html  css  js  c++  java
  • 各种height 以及判断滚动条是否已拉到页面最底部

    DTD已声明 
    IE
    document.documentElement.scrollHeight  浏览器所有内容高度 ,document.body.scrollHeight  浏览器所有内容高度
    document.documentElement.scrollTop  浏览器滚动部分高度,document.body.scrollTop 始终为0
    document.documentElement.clientHeight  浏览器可视部分高度,document.body.clientHeight  浏览器所有内容高度


    FF
    document.documentElement.scrollHeight  浏览器所有内容高度 ,document.body.scrollHeight  浏览器所有内容高度
    document.documentElement.scrollTop  浏览器滚动部分高度,document.body.scrollTop 始终为0
    document.documentElement.clientHeight 浏览器可视部分高度,document.body.clientHeight  浏览器所有内容高度


    Chrome
    document.documentElement.scrollHeight  浏览器所有内容高度, document.body.scrollHeight  浏览器所有内容高度
    document.documentElement.scrollTop 始终为0,document.body.scrollTop  浏览器滚动部分高度
    document.documentElement.clientHeight  浏览器可视部分高度,document.body.clientHeight  浏览器所有内容高度


    DTD未声明
    IE 
    document.documentElement.scrollHeight  浏览器可视部分高度,document.body.scrollHeight  浏览器所有内容高度 
    document.documentElement.scrollTop 始终为0,document.body.scrollTop  浏览器滚动部分高度
    document.documentElement.clientHeight 始终为0,document.body.clientHeight  浏览器可视部分高度


    FF
    document.documentElement.scrollHeight  浏览器可视部分高度, document.body.scrollHeight 浏览器所有内容高度
    document.documentElement.scrollTop 始终为0,document.body.scrollTop 浏览器滚动部分高度
    document.documentElement.clientHeight 浏览器所有内容高度,document.body.clientHeight 浏览器可视部分高度


    Chrome 
    document.documentElement.scrollHeight 浏览器可视部分高度,document.body.scrollHeight 浏览器所有内容高度
    document.documentElement.scrollTop 始终为0,document.body.scrollTop 浏览器滚动部分高度
    document.documentElement.clientHeight 浏览器所有内容高度,document.body.clientHeight 浏览器可视部分高度

    浏览器所有内容高度即浏览器整个框架的高度,包括滚动条卷去部分+可视部分+底部隐藏部分的高度总和

    浏览器滚动部分高度即滚动条卷去部分高度即可视顶端距离整个对象顶端的高度。


    综上

    1、document.documentElement.scrollTop和document.body.scrollTop始终有一个为0,所以可以用这两个的和来求scrollTop

    2、scrollHeight、clientHeight 在DTD已声明的情况下用documentElement,未声明的情况下用body

     document.compatMode 可以用来判断是否声明了DTD, 值为"BackCompat":未声明,值为"CSS1Compat":已声明。

    所以,判断滚动条是否已拉到页面最底部,可以用如下代码

    window.onscroll  = function (){
        var marginBot = 0;
        if (document.compatMode === "CSS1Compat"){
            marginBot = document.documentElement.scrollHeight - (document.documentElement.scrollTop+document.body.scrollTop)-  document.documentElement.clientHeight;
        } else {
            marginBot = document.body.scrollHeight - document.body.scrollTop-  document.body.clientHeight;
        }
        if(marginBot<=0) {
            //do something        
        }
    }


    文章取至:http://www.cnblogs.com/blackwood/archive/2013/03/12/2955472.html
  • 相关阅读:
    第 3 章(类型、值和变量)(3.1~ 3.5)
    第七章(插件的使用和写法)(7.6 编写 jQuery 插件)
    第七章(插件的使用和写法)(7.4 jQuery UI 插件 7.5 管理Cookie的插件 --- Cookie)
    第七章(插件的使用和写法)(7.3 动态绑定事件插件 ----- livequery)(未完成)
    第七章(插件的使用和写法)(7.2 jQuery 表单插件 ----- Form)
    第七章(插件的使用和写法)(7.1 jQuery 表单验证插件 ----- Validation)
    第六章(jQuery 与 Ajax 的应用)(6.8 基于 jQuery 的 Ajax 聊天室程序)(未完成)
    第六章(jQuery 与 Ajax 的应用)(6.6 序列化元素 6.7 jQuery 中的 Ajax 事件)
    Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺
    Python爬虫实战七之计算大学本学期绩点
  • 原文地址:https://www.cnblogs.com/xumqfaith/p/7060153.html
Copyright © 2011-2022 走看看