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

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

    1获取显示屏高度(pc和移动端,屏幕分辨率px)

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

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

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

    3获取网页内容高度

    1)document.documentElement.scrollHeightdocument.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滚动条的高度值

    document.docuemtnElement.scrollTop => 页面滚动上去的高度值;

     

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

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

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

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

     

      

  • 相关阅读:
    PageRequestManager 综述
    【转】浏览器集成教学 自定义浏览器
    COM(四)注册
    关于/ENTRY (EntryPoint Symbol)
    COFF文件
    【转】用系统默认浏览器打开Microsoft Web Browser控件触发的超链接
    Scroll Bar 控件
    COM(一)CoCreateInstance
    Web相关概念
    WebBrowser Control(一)禁止表单数据提示对话框
  • 原文地址:https://www.cnblogs.com/web-wjg/p/7349586.html
Copyright © 2011-2022 走看看