【JS】scrollTop+scrollHeight+clientTop+clientHeight+offsetTop+offsetHeight

srcollTop、clientHeight、scrollHeight详解 原生js: scrollTop —— 滚动条滚动的距离(注意:不是滚动条距顶端的距离) scrollHeight —— 文档内容的实际高度,包含超出视图溢出的部分 clientHeight —— 窗口可视范围的高度 当clientHeight + scrollTop >= scrollHeight时,表示已经抵达内容的底部了,可以加载更多内容。 scrollTop: 可以通过 window.pageYOffset 或 document.documentElement.scro... 阅读详情

scrollTop、scrollHeight、clientTop、clientHeight、offsetTop以及offsetHeight

1. scrollTop 与 scrollHeight

1.1 scrollTop

scrollTop 是这六个属性中唯一一个可写的属性。

Element.scrollTop 属性可以获取或设置一个元素的内容垂直滚动的像素数。

一个元素的 scrollTop 值是这个元素的顶部到视口可见内容(的顶部)的距离的度量。当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0。

如下图:

在这里插入图片描述

由于这个属性是可写的,其可以被设置为任何整数值,但在赋值时有以下注意点:

  • 如果一个元素不能被滚动,那么赋值后,scrollTop 属性仍将被设置为0
  • 设置scrollTop的值小于0,则赋值后,scrollTop 被设为0
  • 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值.

同时,由于该属性可写的特性,我们经常会使用该属性来实现回到顶部的效果:element.scrollTop = 0

1.2 scrollHeight

Element.scrollHeight 这个只读属性是一个元素内容高度的度量,包括由于溢出导致的视图中不可见内容。

scrollHeight 的值等于该元素在不使用滚动条的情况下为了适应视口中所有内容所需的最小高度,即元素内容的真实高度。

没有垂直滚动条的情况下,scrollHeight值与元素视图填充所有内容所需要的最小值clientHeight相同。

scrollHeight 包括元素的padding,但不包括元素的border和margin。另外,scrollHeight也包括 ::before 和 ::after这样的伪元素。

如下图:

在这里插入图片描述

根据该属性的定义,我们常常利用该属性与 scrollTop、clientHeight 之间的关系来判断元素是否滚动到底部:element.scrollHeight - element.scrollTop === element.clientHeight

2. clientTop 与 clientHeight

2.1 clientTop

clientTop 同样是一个只读属性,其表示一个元素顶部边框的宽度,这个宽度并不包括顶部外边距或内边距。

2.2 clientHeight

这个属性同样是是只读属性,对于没有定义CSS高度或者内部元素的元素,该属性值为0。

若定义了高度或内部的元素,则它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。

实际上,clientHeight 就是height + padding - 滚动条的值,即元素内容在视口中展示的高度

如下图:

在这里插入图片描述

3. offsetTop 与 offsetHeight

3.1 offsetTop

要了解 offsetTop 属性,首先需要了解 Element.offsetParent 属性。

Element.offsetParent 属性指向最近的包含该元素的定位元素。如果找不到,则指向最近的 tabel 或 table cell 元素,或者是根元素(标准模式下为html;quirks 模式下为body)。另外,当元素的 display 属性设置为 none 时,offsetParent 属性指向 null。

而 offsetTop 属性,其表示了当前元素相对于其 offsetParent 元素的顶部内边距的距离。

3.2 offsetHeight

HTMLElement.offsetHeight 同样是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数。

通常,元素的offsetHeight是一种元素CSS高度的衡量标准,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),但不包含:before或:after等伪类元素的高度。或者说,offsetHeight 是元素内容、元素边框以及滚动条在视口中展示的高度。

如下图:

在这里插入图片描述

另外,需要注意的是,当一个元素被隐藏时,该属性返回0。

告别手动画图!用Cadence SKILL写一个参数化电感PCell(附完整代码) 本文详细介绍了如何使用Cadence SKILL语言开发参数化电感PCell,实现电感版图的自动化生成。通过动态调整线宽、圈数等几何参数,自动创建端口并进行工艺规则校验,大幅提升高频电路设计效率。附完整代码示例,帮助工程师快速掌握PCell开发技巧。 阅读详情

相关推荐

MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)

   分析大脑解剖学差异最常用方法之一是基于体素的形态学方法(voxel-based morphometry, VBM)。 VBM的基本思想是测量大脑组织,尤其是灰质的局部浓度的差异。在大脑的每个体素处进行操作,然后在两个或多个实验组之间进行统计比较,从而在受调查的组之间建立特定大脑区域中脑组织浓度的统计学显着差异。 VBM分析基于(高分辨率)MRI脑部扫描,涉及大量处理步骤,主要是空间归一化,分割,平滑和统计分析,最终结果是统计图,显示了各组之间组织类型明显不同的区域[^1]。 参考 [^1] ..

意疏的学习笔记 3万+

【JavaScript】scrollTop和scrollHeight在滚动事件中的使用

scrollTop和scrollHeight

小秀的博客 3316

数据仓库建模的步骤-从需求分析到模型优化的全面指南

数据仓库建模是一个系统化的过程,旨在设计和构建一个高效、可扩展的数据存储和分析环境。它的目标是将来自不同源系统的数据整合到一个统一的、面向主题的、随时间变化的数据集合中,以支持企业的决策制定过程。数据仓库建模不仅仅是创建表格和定义关系,它更是一门艺术,需要平衡业务需求、技术限制和未来的可扩展性。提供快速的查询性能支持复杂的分析需求适应业务的变化和增长保持数据的一致性和准确性接下来,让我们深入探讨数据仓库建模的每个主要步骤。

一个8年大数据开发工程师的碎碎念 2099

秒懂scrollWidth/scrollHeight/scrollLeft/scrollTop(详解)

1.scrollWidth:返回元素整体的宽度,包括由于 overflow 溢出而在屏幕上不可见的内容。 2.scrollHeight:返回元素整体的高度,包括由于 overflow 溢出而在屏幕上不可见的内容。 3.scrollLeft:被隐藏在内容区域左方的距离。设置该值可以改变元素的滚动位置 4.scrollTop:被隐藏在内容区域上方的像距离。设置该值可以改变元素的滚动位置

weixin_61597234的博客 6235

PCB布局布线要求及多层电路板叠加原则

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考本文主要针对PCB布局布线中的要点进行了总结,并对多层电路板的叠加原则进行了解释。

Ka_wyb的博客 2933

DIY电磁炉核心驱动方案:IR2153PBF自振荡半桥芯片实战指南(附电路图)

本文详细介绍了IR2153PBF自振荡半桥驱动芯片在DIY电磁炉核心驱动方案中的实战应用。该芯片集成了振荡器与600V高压驱动能力,仅需少量外围元件即可生成互补带死区的PWM信号,极大简化了半桥逆变电路设计。文章深入解析了其工作原理、关键参数,并提供了完整的电路设计、PCB布局指南及调试步骤,帮助电子爱好者构建稳定高效的感应加热驱动核心。

beer8的博客 578

scrollTop、scrollLeft、scrollWidth、scrollHeight

scrollTop、scrollLeft、scrollWidth、scrollHeight

pig_ning的博客 4021

统信UOS安装CH384串口卡驱动

本文讲解如何在统信UOS系统下安装CH384 PCIE多串口驱动安装过程,CPU为飞腾D2000。其他Linux内核系统安装亦可参照类似方法。

shjhuang的专栏 1884

JS中scrollHeight,clientHeight、scrollTop、offsetTop等相关属性介绍

获取页面可视高度 document.getElementById("#id").clientHeight 获取当前dom元素的可滚动高度 document.getElementById("#id").scrollHeight 获取当前dom元素的滚动距离 document.getElementById("#id").scrollTop scrollHeight = scrollTop + clientHeight ...

何以为皇的博客 4373

AI视频生成本地搭建图文详细过程

在自己的电脑上搭建一个AI,主要用于通过自己输入的关键字来自动生成视频文案,把视频文案自动生成视频,再自动给视频配音配字幕。

张小三的博客 4691

虚拟化 之三 详解 ARM 平台 jailhouse 的移植适配、构建及使用(飞腾派)

本文将探索学习通过在飞腾官方提供的 Buildroot 构建系统移植适配 openEuler 内核以及 jailhouse 源码 Package 进而直接构建一个适用于飞腾派开发板的带有 jailhouse 的 openEuler 发行版。

技术干货 1002

js的各种位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的区别?

scrollHeight: 因为子元素比父元素高,父元素不想被子元素撑的一样高就显示出了滚动条,在滚动的过程中本元素有部分被隐藏了,scrollHeight代表包括当前不可见部分的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。scrollTop: 代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度。5、srcollTop:滚动后被隐藏的高度,获取对象相对于由offsetParent属性指定的父坐标(css定位的元素或body元素)距离顶端的高度。

前端小99的博客 567

Loop Engineering 来了:从写 Prompt 到设计 Loop,AI 编程的第四次范式跃迁

文章摘要: Loop Engineering是AI编程领域的新范式,标志着从"人手动喂指令"到"设计自驱动循环"的跃迁。其核心在于通过五个组件(定时器、工作空间、知识体系、连接器和子Agent验证)构建自动化任务流,使AI系统能自主运行。这一概念的火爆源于模型能力和工具链的成熟,使得任务设计成为关键瓶颈。作者指出,从Prompt到Loop的四次范式跃迁(语言学→信息科学→控制论→管理学)反映了人机协作关系的根本变化:人类角色从执行者逐渐退居为目标设定者。落地Loop Engineering的真正挑战在于目标

少说,多做 330

js的各种位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的区别?...

1、clientHeight:表示的是可视区域的高度,不包含border和滚动条; 2、offsetHeight:表示的是可视区域的高度,包含了border和滚动条 3、scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分; 4、clientTop:表示边框border的厚度,在未指定的情况下一般为0 5、srcollTop:滚动后被隐藏的高度,获取对象相对...

Sugarman0620的博客 410

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JS 的各种位置,比如 clientHeight,scrollHeight,offsetHeight ,以及 scrollTop, offsetTop,clientTop 的区别?

clientHeight:表示的是可视区域的高度,不包含 border 和滚动条 offsetHeight:表示可视区域的高度,包含了 border 和滚动条 scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分。 clientTop:表示边框 border 的厚度,在未指定的情况下一般为 0

超级罗伯特的博客 275

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

html 滚动条 scrolltop scrollheight,JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记...

全文参考:https://github.com/iuap-design/blog/issues/38 、MDNclientHeight,只读clientHeight可以用公式 CSS height + CSS padding - 水平滚动条的高度 (如果存在) 来计算。如图,这样一个div,它的clientHeight为95,计算:50(height)+30(padding-top)+30(pad...

weixin_42522400的博客 515

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

html5 scrollheight,JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记...

全文参考:https://github.com/iuap-design/blog/issues/38 、MDNclientHeight,只读clientHeight可以用公式 CSS height + CSS padding - 水平滚动条的高度 (如果存在) 来计算。如图,这样一个div,它的clientHeight为95,计算:50(height)+30(padding-top)+30(pad...

weixin_32743045的博客 449

浅析js中不同的height, top对比

每次看到js中的 clientHeight(clientTop), offsetHeight(offsetTop),scrollHeight(scrollTop)就头大,根本分不清这几种的区别,然而碰到这些已经不 值一两次了,然后每次都要查看一下各自的区别,才能决定使用哪个。 今天特地花了一点时间整理了下各自的区别,本篇主要以chrome为准,可能各个浏览器之间还是有一些区别,但很多自己还未

tianhuak的博客 695

js中offsetTop、clientTop、scrollTop

Js中的offsetTop、clientTop、scrollTop各属性介绍 页可见区域宽: document.body.clientWidth; /document.documentElement.clientWidth网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区...

weixin_30419799的博客 103

Javascript中 scroll 、client、offset区别

高宽 scrollHeight 得到的时实际的高宽,不含边框返回数值不带单位 clientHeight 得到的是盒子高宽 不包含边框大小 offsetHeight 得到的是盒子高宽 包含边框大小 他们三个返回数据都不带单位 scroll 事件 scrollTop 当我们滚动条滚动时 触发此事件 例: <style> div { width: 200px; height: 200px; background

qq_41853417的博客 1万+

获取元素宽高及位置的方法

js的人一定会接触到client家族、scroll家族和offset家族。由于width和Height属性是类似的,所以这里我只挑这三个height来讲一下。 clientHeight、offsetHeight、clientTop、innerWidth、outerWidth、scrollHeight、offsetTop、scrollTop,scrollY 1.clientHeight / clie...

csdn_zsdf的博客 3732

大前端基础之JS元素和页面宽高及位置

宽高和位置 在JS中我们需要学习DOM元素和页面的宽高及位置。本期小编就元素及页面宽高和位置做出详细解说。 一: 元素宽高 1)三种元素宽高 元素.clientWidth 客户宽高 元素.clientHeight 元素.offsetWidth 偏移宽高 元素.offsetHeight 元素.scrollWidth 滚动宽高 元素.scrollHeight 以上所有的宽高,基于元素被加...

m0_46388070的博客 496

js中不同的height, top的对比

每次看到js中的clientHeight(clientTop), offsetHeight(offsetTop),scrollHeight(scrollTop)就头大,根本分不清这几种的区别,然而碰到这些已经不值一两次了,然后每次都要查看一下各自的区别,才能决定使用哪个。 今天特地花了一点时间整理了下各自的区别,本篇主要以chrome为准,可能各个浏览器之间还是有一些区别,但很多自己还未真正遇到...

weixin_30604651的博客 89

缕析条分Scroll属性 | 京东云技术团队

最近有项目需要使用js原生开发滑动组件,频繁要用到dom元素的各种属性,其中以各种类型的height和top属性居多,名字相近,含义也很容易搞混。因此特地总结归纳了一下常用的知识点,在文末我们来挑战实现一个简易的移动端Scroll组件。

JDDTechTalk的博客 492

JS中几种获取对象宽度和高度的区别

在JS中有多种获取高度和宽度的方式,今天整理一下 1、clientWidth / clintHeight clientWidth  = 元素的宽度 + 元素的paddingLeft + 元素的paddingRight clientHeight = 元素的高度 + 元素的paddingTop + 元素的paddingBottom 注意:如果该元素上存在上下滑动滚动条,则clientWidth...

while(true){alert( 2262

JavaScript 三大家族

JavaScript 三大家族 offset * offsetLeft和offsetTop的作用: 1.获取到元素第一个定位(position)的祖先元素之间的偏移位; 2.如果没有祖先元素是定位(position)的,那么就是获取到body的偏移位; * offsetHeight和offsetWidth: 1.offsetHeight = 高度 + 内边距 + 边框;...

小滕很久没锻炼的博客 286
上一篇: 【CSS】position
下一篇: 【JS进阶】纯函数 + 高阶函数 + 函数柯里化
cannotbecounted
博客等级 码龄7年 101粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值