位置: 编程技术 - 正文

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

  • 企业所得税汇算清缴操作流程
  • 资产负债表的固定资产怎么计算
  • 注册登记费用属于什么科目
  • 生产型企业直接进口产品是否可直接出口
  • 提现的现金流量代码是什么
  • 农业生产者销售自产农产品按9%的税率征收增值税
  • 租赁负债的计量
  • 小规模纳税人季报还是月报?
  • 外包人员的工资是费用吗
  • 长期投资换入固定资产如何处理
  • 上市公司股票增持是什么回事
  • 税务开专票遇到四舍五入
  • 小规模纳税人开专票税率是1%还是3%
  • 税率开错跨月没法收回
  • 发票显示不抵扣什么意思
  • 一般纳税人施工安装税点
  • 纳税信用a级纳税人激励措施
  • 承兑汇票怎么换算
  • 没有成本票怎么做成本
  • 一般纳税人销售自己使用过的汽车
  • 充积分送手机
  • 全民游戏盒子怎么卸载
  • 公司购买理财产品账务处理
  • 如何快速修复
  • thinkphp d方法
  • 公司修建污水池申请书
  • php array_chunk
  • 商业汇票计入什么科目技能高考
  • 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
  • 峡谷的人
  • 研发新产品的重要性
  • 装修费计入固定资产还是长期待摊
  • 自动驾驶感知决策控制
  • nvme安装win10教程
  • 应交税金会计编码
  • 织梦官方网站
  • 不动产登记违建处理办法
  • 装修收入应如何确定
  • 公司自有房产出租给员工如何处理
  • 普通发票可抵税吗
  • 现代服务税目包括哪些具体分类
  • 淘宝开店的钱怎么取出来
  • 企业跨区变更地址需要多久
  • 基本户和一般户的往来分录
  • 给客户退款怎么说
  • 错账原因有哪些类型
  • 企业租车流程
  • 转出未交增值税和未交增值税区别
  • 餐饮费发票可以抵扣进项税吗
  • 分销佣金税务账务怎么做
  • 银行贷款损失的计算公式
  • 权益净利率计算公式产权比率
  • 倒卖承兑汇票被判刑
  • 本年收益属于什么科目
  • 个人所得税会计分录怎么做
  • 生产费用总分类核算的程序包括
  • 删除mysql数据库中表的内容命令
  • doc怎么使用
  • 详解Mysql主从同步配置实战
  • win7系统开启telnet服务
  • ubuntu系统怎么设置不锁屏
  • 简述linux系统有什么显著特点
  • 如何ie8升级到10
  • winxp系统怎么装
  • 万能重装系统
  • 如何修改linux系统名称
  • windows intel
  • windows8运行窗口怎么打开
  • jQuery ajax读取本地json文件的实例
  • 人应该掌握的基本知识
  • jquery分页组件
  • python中随机数的用法
  • 菜鸟 javascript
  • jquery遍历元素并赋值
  • 刀具路径轨迹模拟
  • 手机 日常应用 单核 多核
  • javascript教程 csdn
  • 使用灭火器时要对准火焰的什么部位喷射
  • 小微企业企业所得税率
  • 2013年山西高考作文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设