zoukankan      html  css  js  c++  java
  • document.documentElement与body下clientHeight,scrollHeight等区别

     

     

    本次说明仅在chrom环境下,ie等其他浏览器可能不同

    1获取显示屏高度(pc和移动端)

    window.screen.height => 这个好理解,不多说。

    2获取浏览器可视窗口高度(PC端)

    document.documentElement.clientHeight => 就是网页在浏览器中可见高度,不包括浏览器自身的状态栏,随着浏览器大小变化;

    3获取网页内容高度

    1)document.documentElement.scrollHeight = document.documentElement.offsetHeight => 就是整个网页文档body的高度,随着网页内容的多少变化,包括网页内的所有border,margin,padding;

    2)body.clientHeight = body.offsetHeight => body的内容高度,不包括marginborder值,实际上就是body的height值;

    3)body.scrollHeight => 包括body的margin,body值,;

      a 当网页内容超出浏览器可视窗口高度值时,= body.clientHeight+margin+border =document.documentElement.scrollHeight  ;

      b 当网页内容较少未超出时,= document.documentElement.clientHeigh 也就是浏览器窗口高度值(这是它的最小值);

    4滚动条的高度值

     body.scrollTop => 页面滚动上去的高度值;(注:document.docuemtnElement没有该属性)

    这几个属性在前段开发中的应用场景:

    1)下拉加载(移动端上拉加载),就是通过判断元素是否显示在当前可视窗口内,读取数据并显示

    2)图片的懒加载——前端网页优化的一种手段,也是判断用户浏览的内容区域是否显示在可视窗口中,替换图片src属性值。

    需要注意的是:pc端获取可视出口高度可使用document.documentElement.clientHeight,移动端不要使用该属性(亲测该值很高远远超过显示器的高度iphone6达到1743px),使用window.screen.height获取手机显示的高度.

  • 相关阅读:
    UVa-272-TEX Quotes
    UVa-10881-蚂蚁
    UVa-1339-古老的密码
    POJ-1328-放置雷达
    POJ-3190-分配畜栏
    Openjudge-2787-算24
    WHYZOJ-#47. 滑行的窗口(单调队列)
    2017年9月16日18:03:54
    WHYZOJ-#93. 暗黑破坏神(垃圾01背包)
    WHYZOJ-#95 大逃亡(二分+BFS)(好题!!!)
  • 原文地址:https://www.cnblogs.com/xuyanjiayou/p/8609696.html
Copyright © 2011-2022 走看看