位置: 编程技术 - 正文

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框架执行流程)

  • 小规模纳税人广告费扣除标准
  • 所得税退税的会计处理方法
  • 一般计税方法适用于500万
  • 银行共管账户现在可以开设吗
  • 跨年度进项税额转出怎么申报
  • 利润是非限定净现值吗
  • 转移性支出主要影响社会的什么领域
  • 购房所需的税费种类和费用
  • 会计分录怎么确认借贷方向
  • 计提费用怎么入账
  • 免抵退分录怎么做
  • 变更许可证情况说明书模板
  • 补税款的分录应该怎么写
  • 旧房转让土地增值税计算
  • 税务领取发票后怎么操作
  • 小微企业减免所得税
  • 公司注销需要注意的会计科目
  • 企业为员工支付房租交个税吗
  • 购销合同没写签订日期违法吗
  • 补缴增值税的会计处理
  • 累计带薪缺勤的核算和计量
  • 商业成本结转会计分录
  • 参加活动获得的荣誉怎么写
  • php bcmul
  • 其他应付款的核算范围包括应付短期租赁
  • 分期付款购买固定资产折现率怎么算
  • PHP:iconv_mime_encode()的用法_iconv函数
  • 提足折旧仍使用的逾龄房产是否交房产税
  • php canal
  • 企业需要税务登记吗
  • 海关进口增值税怎么认证抵扣
  • 记账凭证和原始凭证都是登记账簿的直接依据
  • gpt详解
  • 调戏chatGPT(二)下围棋
  • flask框架入门
  • ps怎么旋转某个图形快捷键
  • springmvc简介
  • 未分配利润在科目余额表里怎么看
  • 财务费用为负的意思
  • 非公党建党费收缴
  • 客户赔偿款放在哪里
  • phpcms插件
  • 启动mysql的语句
  • 小规模纳税人开票限额是多少
  • 增值税专用发票丢了怎么补救
  • mysql创建存储过程sql语句
  • 服务不动产和无形资产本期数,第19栏
  • 逾龄资产对企业的影响
  • 事业单位借款给下属单位
  • 转账错误退款说明
  • 融资租入固定资产的入账价值
  • 承兑汇票的贴息怎么算
  • 预付款开票货还没发
  • 其他权益工具投资公允价值变动计入什么科目
  • 公司借调人员工资账务处理
  • 代发工资业务流程
  • 外经证先开票还是异地预缴税率
  • 核定征收方式有哪些
  • ubuntu系统软件安装
  • wp程序
  • win8.1系统安装教程
  • macbookair cpu
  • windows使用cmd运行程序
  • ct.dll
  • linux nyy
  • wind8系统怎么清除所有东西 恢复出厂
  • xp系统修改分辨率
  • win7系统如何修改默认浏览器
  • JavaScript的Ext JS框架中的GridPanel组件使用指南
  • android开发环境配置
  • jquery验证码
  • android怎么保存项目
  • Python文件处理
  • javascript代码写在哪个标签里
  • powershell实战指南
  • javascript的简介
  • javascript随机生成数字
  • sdk和安卓版本
  • winpe文件下载
  • 支付宝交税查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设