Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条

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

作者头像
授客
发布于 2019-11-26 06:34:16
发布于 2019-11-26 06:34:16
1.4K00
代码可运行
举报
文章被收录于专栏:授客的专栏授客的专栏
运行总次数:0
代码可运行

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

}

代码语言:javascript
代码运行次数:0
运行
复制
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你记住JS中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX吗?
offsetWidth //返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距)
马克社区
2022/07/22
9880
前端项目遇到的问题(一)
时隔2年重新写写文章,23年6月在公司躲过了2次人员优化的我,在第三次主动领取大礼包。在家gap三个月(跑过滴滴、接过兼职),到新公司一系列经历感到身心极其emo,整个人都很抑郁(从公司离职到新环境的适应、公司福利待遇落差、家庭琐事等等)在这里想要感谢我现在的leader,给我的一些建议和帮助,让我慢慢走出那段差劲的状态。
一起重学前端
2024/09/18
1110
区分clientHeight、scrollHeight、offsetHeight
clientHeight、offsetHeight、scrollHeight都是用来描述DOM元素的高度的属性;对于同一个元素,它们分别表示的高度值会有所不同。具体如下:
全栈程序员站长
2022/09/15
1.6K0
区分clientHeight、scrollHeight、offsetHeight
html 滚动条 scrolltop scrollheight,浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight…
浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight
全栈程序员站长
2022/09/15
2.3K0
html 滚动条 scrolltop scrollheight,浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight…
JS-元素大小深入学习-offset、client、scroll等学习研究笔记
一些属性和方法,在dom中没有规定如何确定页面中元素大小的情况下诞生。。。 1.偏移量(offset dimension)  测试代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>offset偏移量学习</title> 6 <meta name="author" content="郭菊锋/702004176@qq.com"/> 7
xing.org1^
2018/05/17
9090
详解各种获取元素宽高及位置的属性
offsetWidth / offsetHeight offsetWidth HTMLElement.offsetWidth 是一个只读属性,返回一个元素的布局宽度。一个典型的(各浏览器的offset
laixiangran
2018/04/24
4.1K0
详解各种获取元素宽高及位置的属性
大家都能看得懂的源码之ahooks useInfiniteScroll
本文是深入浅出 ahooks 源码系列文章的第十七篇,该系列已整理成文档-地址[1]。觉得还不错,给个 star[2] 支持一下哈,Thanks。
GopalFeng
2022/09/23
8020
JS中clientHeight、scrollHeight和offsetHeight的大坑,滚动条抖动问题解决
学习原生js的人一定会接触到client家族、scroll家族和offset家族。其中clienHeight、scrollHeight和offsetHeight一般用来求网页内容的高度,而对应的clientWidth、scrollWidth和offsetWidth则用来求网页内容的宽度,由于width和Height属性是类似的,所以这里我只挑这三个height来讲一下。
全栈程序员站长
2022/09/15
6.6K0
JS中clientHeight、scrollHeight和offsetHeight的大坑,滚动条抖动问题解决
JS盒子模型
JavaScript中的盒子模型通常指的是HTML元素在页面中的表示和排列方式,由浏览器处理和管理。盒子模型描述了一个元素在页面布局中所占据的空间,包括元素的内容(content)、内边距(padding)、边框(border)和外边距(margin)。
星辰大海c
2023/11/20
2210
JS盒子模型
JavaScript--XML DOM 总结
Mozilla 开发者社区(MDN):https://developer.mozilla.org/zh-CN/JavaScript MDN文档https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
思索
2024/08/16
850
一文彻底搞懂js中的位置计算
Element.scroll()方法是用于在给定的元素中滚动到某个特定坐标的Element 接口。
19组清风
2021/11/15
4K0
一文彻底搞懂js中的位置计算
html5 scrollheight,JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记…[通俗易懂]
全文参考:https://github.com/iuap-design/blog/issues/38 、MDN
全栈程序员站长
2022/09/15
9390
html5 scrollheight,JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记…[通俗易懂]
CSS魔法堂:不得不说的Containing Block
前言 《CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins》中提到在没有floated兄弟盒子时,line box的左右边框会与所属的containing block的左右content edge相接触。那到底什么是containing block(abbr. CB)呢?  containing block在CSS的visual formatting model中十分重要的理论基础,因为盒子的宽/高度自动值/相对值的计算,相对/浮动/绝对定位,均依赖conta
^_^肥仔John
2018/01/18
9160
CSS魔法堂:不得不说的Containing Block
解析offsetHeight,clientHeight,scrollHeight之间的区别「建议收藏」
在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论。以下结论皆是在标准模式下测试通过的,没有测试quirk模式。
全栈程序员站长
2022/09/30
5470
JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」
在我本地测试当中: 在IE、FireFox、Opera下都可以使用 document.body.clientWidth document.body.clientHeight 即可获得,很简单,很方便。 而在公司项目当中: Opera仍然使用 document.body.clientWidth document.body.clientHeight 可是IE和FireFox则使用 document.documentElement.clientWidth document.documentElement.clientHeight 原来是W3C的标准在作怪啊
全栈程序员站长
2022/09/16
7.7K0
JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」
【现代 CSS】标准滚动条控制规范
使用 scrollbar-width 和 scrollbar-color 属性设置滚动条的样式。
Cell
2024/06/29
4150
【现代 CSS】标准滚动条控制规范
详解clientHeight、offsetHeight、scrollHeight「建议收藏」
文章推荐:http://blog.csdn.net/creasher/article/details/51353416
全栈程序员站长
2022/09/15
2.3K0
详解DOM对象中clientWidth、offsetWidth等属性
我们有时需要获得鼠标在某盒子中的位置,或者是随意移动某盒子的位置,在这些场景中我们可能经常需要用到clientWidth、offsetWidth、offsetTop啊等等。但是对于初学者来说(包括我),看到这些就头疼,因为感觉意思都相近,但作用却不同,所以今天天我就来捋一捋,搞清楚,后面好干活。好吧,废话不多说,开始吧。
全栈程序员站长
2022/09/16
4.6K0
详解DOM对象中clientWidth、offsetWidth等属性
JavaScript DOM元素尺寸和位置
三大点: 1.获取元素CSS大小 2.获取元素实际大小 3.获取元素周边大小 一.获取元素CSS大小 1.通过style内联获取元素的大小 var box = document.getElementById('box');//获取元素 box.style.width;//200px、空 box.style.height;//200px、空 PS:style获取只能获取到行内style属性的CSS样式中的宽和高,如果有 获取;如果没有则返回空。 2.通过计算获取元素的大小 var style = windo
汤高
2018/01/11
2.9K0
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
关于js中的offsetWidth、clientWidth、scrollWidth等一系列属性及其方法一直都傻傻分不清,这里就来总结一下这些方法的用法和含义。
全栈程序员站长
2022/09/16
9670
推荐阅读
相关推荐
你记住JS中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX吗?
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验