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获取手机显示的高度.

  • 相关阅读:
    前端Vue项目——购物车页面
    vue组件通信传值——Vuex
    django+uwsgi+nginx 导出excel超时问题
    前端Vue项目——登录页面实现
    前端Vue项目——课程详情页面实现
    基于DFA算法、RegExp对象和vee-validate实现前端敏感词过滤
    python的小数据池
    VeeValidate——vue2.0表单验证插件
    前端Vue项目——首页/课程页面开发及Axios请求
    服务配置中心
  • 原文地址:https://www.cnblogs.com/xuyanjiayou/p/8609696.html
Copyright © 2011-2022 走看看