JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条

简介: JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条

基于offsetHeightclientHeight判断是否出现滚动条

 


 

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("出现水平滚动条");

}

 

 

 

目录
相关文章
|
29天前
|
Web App开发 JavaScript 前端开发
高性能的纯Js滚动条美化插件smooth-scrollbar
smooth-scrollbar是一款高性能的纯JavaScript滚动条美化插件。该滚动条为现代浏览器而制作,它具有高性能,自由配置,平滑滚动等特点,支持各种现代桌面浏览器和手机设备。
|
5月前
|
JavaScript
js【图解】滚动条的位置(文档与屏幕间的距离),鼠标事件距离(位置),元素距离(位置)
js【图解】滚动条的位置(文档与屏幕间的距离),鼠标事件距离(位置),元素距离(位置)
124 7
|
7月前
|
移动开发 JavaScript 前端开发
分享33个JS滚动条特效&47个JS瀑布流特效,总有一款适合您
分享33个JS滚动条特效&47个JS瀑布流特效,总有一款适合您
85 0
|
7月前
|
JavaScript
【经典】原生JS实现“用鼠标拖拽(drag)内容DIV”,滚动条对应同步滚动
【经典】原生JS实现“用鼠标拖拽(drag)内容DIV”,滚动条对应同步滚动
|
JavaScript
计算滚动条的宽度--js
计算滚动条的宽度--js
70 0
|
JavaScript
js判断滚动条是否到底部demo效果示例(整理)
js判断滚动条是否到底部demo效果示例(整理)
|
JavaScript
JS 监听滚动条事件
JS 监听滚动条事件
|
JavaScript
js让滚动条滚到底部
js让滚动条滚到底部
222 0
|
JavaScript
js检测滚动条到底部
js检测滚动条到底部
93 0
通过HTML+CSS+JavaScript实现鼠标移动到页面顶部导航栏出现,如果移出导航栏3秒又隐藏起来,而且不受滚动条影响(二)...
通过HTML+CSS+JavaScript实现鼠标移动到页面顶部导航栏出现,如果移出导航栏3秒又隐藏起来,而且不受滚动条影响(二)...