位置: 编程技术 - 正文

js中不同的height, top的区别对比

编辑:rootadmin

推荐整理分享js中不同的height, top的区别对比,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

每次看到js中的 clientHeight(clientTop), offsetHeight(offsetTop),scrollHeight(scrollTop)就头大,根本分不清这几种的区别,然而碰到这些已经不 值一两次了,然后每次都要查看一下各自的区别,才能决定使用哪个。

本篇主要以chrome为准,可能各个浏览器之间还是有一些区别,但很多自己还未真正遇到过,还不是很清楚,等以后碰到了类似的兼容性问题,再记录到这里,这次就chrome浏览器中各个属性的区别做个记录,以方便以后的查看

一 clientHeight,offsetHeight,scrollHeight的区别

  clientHeight在各个浏览器中基本是一样的,一致认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,不包括滚动条,不包括margin,但包括padding,也就是说实际的clientHeight = 当前对象可视区域的高度 + padding值,如下图所示 clientHeight = 对象可视区域高度() + 上下padding值() =

在不同浏览器都实用的javascript方案:

  offsetHeight = 当前对象的高度 + 滚动条 + borde值 + padding值,上图中当前对象的高度和可视区域高度是一样的,所以offsetHeight = + padding(px ) + border(px) =

js中不同的height, top的区别对比

scrollHeight是网页内容的实际高度,最小值就是clientHeight,也就是说可以是跟clientHeight相等的,但我们假设这样一个情形,如下代码所示,父div高度是px,子div高度是px,这时候就会形成滚动条,此时父div的结构图如下:

父div的的scrollHeight 就应该是scrollHeight = px + padding值

因为此时产生了滚动条,此时父div的可视区域高度为,当前对象高度也就是父div的高度为,因此

clientHeight = px + padding值(px) = px

offsetHeight = 父div的高度(px) + padding值(px) + 边框(px) = px

二 clientTop,offsetTop,scrollTop的区别

clientTop的理解可以参考clientHeight,clientHeight的的计算方式是当前可视区域的高度 加上 padding值,那么clientTop就可以理解为当前可视区域到上一级元素的距离。

如上图所示,clientTop就是5px,大部分情况下,clientTop都是这个border值。

offsetTop是当前对象到body元素的距离,它的计算方式相对复杂,先从上图进行理解,当前对象指的是border边框之内的区域,所以计算offsetTop要从当前对象的margin开始,计算公式如下 offsetTop = 当前对象的margin-top + 当前对象所有上级元素的margin-top + 当前对象所有上级元素的border-top,需要注意的是offsetTop是不能进行直接赋值的,只能通过这样的计算方式得到。

scrollTop是当前对象的最顶部到当前对象在当前窗口显示的范围内的顶边的距离.即是在出现了纵向滚动条的情况下,滚动条拉动的距离。

标签: js中不同的height, top的区别对比

本文链接地址:https://www.jiuchutong.com/biancheng/377554.html 转载请保留说明!

上一篇:javascript日期处理函数,性能优化批处理(js日期操作)

下一篇:Java Mybatis框架入门基础教程(mybatis框架执行流程)

  • 筹建期间取得的利息收入 企业所得税
  • 建筑企业的成本
  • 有税控盘怎么领发票
  • 转出未交增值税是借方还是贷方
  • 商誉减值可以抵税吗
  • 企业捐赠不动产 会计分录
  • 银行扣除的贴现利息怎么算
  • 进口一批原材料,海关核定的关税完税价格
  • 企业从政府取得的经济资源,如果与企业销售商品
  • 私募基金管理人a向投资者推介私募产品,不合规
  • 车辆保险属于金融服务吗
  • 住房公积金做账怎么看交了哪些人
  • 记账凭证的分类和基本内容
  • 可供出售金融资产是指什么
  • 销项税额是负数是怎么回事
  • 普通发票个人所得税隔审了怎么弄
  • 建设单位对工程施工的评价意见
  • 计提外币借款利息
  • 餐费没有发票怎么入账
  • 投资性房地产企业有哪些
  • 盘活存量国有资产与轻资产运营
  • 将原材料变成成品的过程
  • 库存车转入固定资产
  • 公司旅游费计入什么科目
  • 华为mate x3最新价格
  • wordpress导入主题教程
  • windows 11硬件
  • 微软 windows11
  • PHP:class_uses()的用法_spl函数
  • 分期付款购买固定资产折现率怎么算
  • 接口500错误原因
  • 股权转让个税计算方法 未分配利润
  • layui iconfont
  • 外经交的个税如何计算
  • react keepalive
  • 销售货物的收入总额包括什么
  • 会计科目结构什么意思
  • 一键部署web应用
  • 筹建期如果是一般纳税人 专票以后可以留着抵扣吗
  • 微信开发怎么实现
  • uniapp官方教程
  • 汇算清缴补税的情况有哪些
  • 自产自销的农产品可以抵税吗
  • 未开票收入如何做账
  • Sqlite数据库里插入数据的条数上限是500
  • 用vue做的企业项目
  • 销售费用和管理费用占比多少合理
  • 对公户单笔转账有限额吗
  • 科技型中小企业享受优惠税收政策
  • 金蝶软件如何新增账套
  • MySQL导入导出命令
  • 固定成本和变动成本包括哪些
  • 增值税零税率发票怎么开
  • 融资租赁咨询服务合同
  • 主营业务成本如何设置明细
  • 建筑工程审计流程
  • 关联方往来款如何处理
  • 银行存款利息收入要交税吗
  • 期末结账后没有余额的科目
  • 劳务外包账务
  • 什么是履约义务,举例
  • 增值税税控系统专用设备费及技术维护费抵扣
  • sql数据库检查
  • solaris syslog
  • win10补丁导致无法开机
  • ubuntu ftp服务开启
  • 服务win10
  • linux限速
  • win7一进电脑是花屏
  • 在linux操作系统中
  • linux系统有哪几个
  • linux跨服务器调用shell脚本
  • nodevideo翻译
  • 简单 粗暴
  • css首字母大写
  • mongoose怎么用
  • c语言node定义
  • 残疾人贷款买房
  • 作废的发票验旧之后怎么领取新发票
  • 集体诉讼的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设