clientWidth与clientHeight

是元素的一个属性,表示元素的实际大小。,值为padding+content区的尺寸,不包括滑动条

offsetWidth与offsetHeight

是元素的一个只读属性,包含conten+padding+border尺寸,如果有滑动条也会包括在内。

scrollWidth与scrollHeight

适用于当元素尺寸过大,产生滑动条的情况。
尺寸为padding+content,当页面尺寸合适,没有滑动条时scrollWidth==clientWidth

scrollTop

scrollTop是当前元素内容content顶部到可视区域clientHeight的高度

判断元素是否可视

通过判断元素顶部到可视窗口的距离。

function isInViewPortOfOne (el) {// viewPortHeight 兼容所有浏览器写法const viewPortHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight const offsetTop = el.offsetTopconst scrollTop = document.documentElement.scrollTopconst top = offsetTop - scrollTopreturn top <= viewPortHeight
}

clientWidth与offsetWidth与scrollWidth相关推荐

  1. 四种浏览器对 clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和 scrollWidth 的解释差异...

    转自http://blog.163.com/chudaozhe@126/blog/static/1157323432011626112137928/ 网页可见区域宽:document.body.cli ...

  2. js获取屏幕尺寸、clientWidth、offsetWidth、scrollWidth等区别

    js获取元素/屏幕宽高 总结如下 1.获取网页可视区域宽高(随着页面的缩放,所获取的值会相应改变) 方法一.不包括滚动条的宽高在内 document.documentElement.clientWid ...

  3. JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth

    常用: JS 获取浏览器窗口大小 // 获取窗口宽度 if (window.innerWidth) winWidth = window.innerWidth; else if ((document.b ...

  4. 各种边距clientWidth、offsetWidth、scrollWidth、clientLeft、getBoundingClientRect详解

    1.clientWidth.offsetWidth.scrollWidth <!DOCTYPE html> <html><head><meta charset ...

  5. JS中关于clientWidth、offsetWidth、scrollWidth

    网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offs ...

  6. JS中的位置和宽度:clientWidth、offsetWidth、scrollWidth等区别

    首先定义一个div. 然后稍微装修一下 下面开始区分 一.clientWidth和clientHeigh . clientTop和clientLeft 1,clientWidth的实际宽度 clien ...

  7. clientWidth、offsetWidth、scrollWidth区别

    1, clientWidth的实际宽度 clientWidth = width+左右padding 2, clientHeight的实际高度 clientHeight = height +上下padd ...

  8. screenWidth、clientWidth、offsetWidth、 scrollWidth的区别

    在做移动端开发的时候,我们会需要用到屏幕的宽度,根据不同屏幕的宽度写交互代码. 有那么多种宽度,我们应该用哪个呢?它们有什么区别呢? document.body.clientWidth:可见区域宽. ...

  9. [Z]四种浏览器对 clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和 scrollWidth 的解释...

    http://wenku.baidu.com/view/bc862eea6294dd88d0d26b52.html### 转载于:https://www.cnblogs.com/waytofall/p ...

最新文章

  1. libopencv_core.so.2.4: cannot open shared object file: Depends: libopencv-photo2.4v5
  2. java中bean文件主要实现内容_JavaBean简单及使用
  3. 在Ubuntu上编写一个开机自启动的Python脚本
  4. 【数据结构与算法】之深入解析“路径总和III”的求解思路与算法示例
  5. @action 注解
  6. 文末送书|增强现实:原理与实践
  7. 简单防止通过执行存储过程攻击服务器
  8. 第一次冲刺阶段(五)
  9. 初步学习Django-第五篇:ORM详解
  10. idea 添加 golang 项目的 gopath
  11. 取最大值_举一反三17——线段平方和的最小值与最大值
  12. android手机无法root成功,安卓手机不能ROOT怎么办
  13. 2022年数字IC设计提前批笔试面试全流程分享(前期海投,后期顺利拿到Offer)
  14. 新版edge浏览器换主题皮肤,使用Chrome浏览器的主题皮肤
  15. 二开免签支付修复版系统源码带YY通道
  16. 3.韦东山嵌入式学习笔记-烧写工具
  17. java 集合 集合概念
  18. linux根据文件内容查找文件名,文件查找:find命令,文件名后缀
  19. 【wxPython 安装指南:error: legacy-install-failure】
  20. 2023 华为 Datacom-HCIE 真题题库 06/12--含解析

热门文章

  1. 【剑指offer】 登峰造极--字符串的排列
  2. 防沉迷系统 游戏运营商笑了
  3. [C语言] scanf 函数详解多组输入法和gitee 自荐
  4. 【产品经理之市场调研】
  5. netframework4 分32 64位吗_手机微信有两个版本,32位和64位,你的微信是多少位?...
  6. 读书笔记-《专业主义》的读后收获
  7. 用服务器传输xml文件格式,XML技术上传文件
  8. 初学者入门课,Python入门体验之九九乘法表
  9. redis是整合google guava的布隆过滤器
  10. hvt lvt svt的cell泄露功耗的原因