JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条
基于offsetHeight和clientHeight判断是否出现滚动条
by:授客 QQ:1033553122
HTMLEelement.offsetHeight简介
HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数。
通常,元素的offsetHeight是一种元素CSS高度的衡量标准,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),不包含:before或:after等伪类元素的高度。
对于文档的body对象,它包括代替元素的CSS高度线性总含量高。浮动元素的向下延伸内容高度是被忽略的。
参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/offsetHeight
HTMLEelement.clientHeight简介
这个属性是只读属性,对于没有定义CSS或者内联布局盒子的元素为0,否则,它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。
clientHeight 可以通过 CSS height + CSS padding - 水平滚动条高度 (如果存在)来计算
参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientHeight
HTMLEelement.offsetWidth简介
是一个只读属性,返回一个元素的布局宽度。一个典型的(译者注:各浏览器的offsetWidth可能有所不同)offsetWidth是测量包含元素的边框(border)、水平线上的内边距(padding)、竖直方向滚动条(scrollbar)(如果存在的话)、以及CSS设置的宽度(width)的值。
参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/offsetWidth
HTMLEelement.clientHeight简介
内联元素以及没有 CSS 样式的元素的 clientWidth 属性值为 0。Element.clientWidth 属性表示元素的内部宽度,以像素计。该属性包括内边距,但不包括垂直滚动条(如果有)、边框和外边距。
参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientWidth
判断目标元素是否出现滚动条
targetElement为目标html元素,以下代码用于判断该元素内是否出现滚动条
if (targetElement.offsetHeight > targetElement.clientHeight &&
targetElement.offsetWidth > targetElement.clientWidth
) {
console.log("出现水平 & 垂直滚动条");
}
if (tableBody.offsetWidth > tableBody.clientWidth) {
console.log("出现垂直滚动条");
}
if (obj.offsetHeight>obj.clientHeight) {
console.log("出现水平滚动条");
}
最新文章
- java加密-解密小结
- [zz] 混合高斯模型 Gaussian Mixture Model
- android生成json
- 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
- PHP实现下载功能之流程分析
- 巧解Tomcat中JVM内存溢出问题
- zookeeper 系列
- CODEVS 3139 栈练习3
- C语言随笔_printf输出多行
- HDU2191:悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- JAVA —— 数组
- fastjson经常用法
- 复制vmware虚拟机后,eth0无法显示问题
- Macaca自动化工具之uirecorder脚本录制
- FusionWidgets之AngularGauge图
- FORM打开网页链接
- 微信小程序中的rpx与移动设备物理像素
- 【数据表格】datatable+SpringMVC+Spring Data JPA
- linux中Java项目占用cpu、内存过高时的排查经历
- JS--变量及深浅拷贝
热门文章
- ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务
- 服务容错保护hystrix
- Spring Boot缓存Ehcache
- idea结合maven小项目
- SpringBoot系列之集成Mybatis教程
- LeetCode--300. 最长递增子序列
- Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?
- 03-EF Core笔记之查询数据
- JavaScript动画实例:旋转的圆球
- NPOI 设置下拉列表