位置: 编程技术 - 正文

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

  • 应交税费应交增值税明细账怎么填
  • 增值税建筑服务税率变化时间
  • 账面价值大于计税基础是什么差异
  • 怎么确认债权
  • 进口货物再出口 增值税处理
  • 电子税务局自然人怎么切换到企业
  • 结转本月发生的费用
  • 私人网银可以转到对公账户吗?
  • 没发票的费用怎么做账
  • 计提坏账又收回
  • 延迟取得发票的原因
  • 应交增值税进项税额转出借贷方向表示什么
  • 一般纳税人城建税怎么计算
  • 佣金付给别人公司违法吗
  • 工伤费用的伤残补助金属于福利费吗
  • 补缴企业所得税滞纳金账务处理
  • 增值税普通发票几个点
  • 税务登记证遗失补办
  • 写着个人的发票能下账吗
  • 购买方申请的红字信息表需要邮寄给销售方吗
  • 暂估收入的凭证怎么做
  • 酒店装修费用会计处理
  • 建筑业预估成本怎么算
  • 如何调用金三接口?
  • 现金支出有哪些项目
  • 办理企业土地证要多少钱
  • 小规模差旅费分录
  • 去年的管理费用怎么冲
  • 浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践
  • php中this和self的区别
  • 转出未交增值税怎么算
  • 分包方可以简易计税吗
  • 固定资产的税务筹划
  • 收回已确认的坏账准备
  • Micheldever Wood的蓝铃花,英国汉普郡 (© Hursley/Getty Images Plus)
  • php read
  • 出纳岗位的职责是什么
  • 最好卖的游戏机排行榜
  • 世界著名气泡酒公司
  • 狂神说css笔记
  • 一般纳税人都是按月申报吗
  • 应付暂估账务处理
  • 改造后的固定资产入账价值
  • 保税区商品可以开发票吗
  • 外包工程会计怎么做账
  • 存货成本主要包括
  • 小规模防伪税控服务费多少钱
  • 商业折扣怎么扣
  • 赞助支出为什么纳税调整
  • 企业如果为员工缴纳社保
  • 财务费用在贷方表示增加还是减少
  • 洗车发票税目
  • 非营利性组织和营利性组织的区别
  • 记账凭证可以先做贷方吗
  • mysql 随机io
  • 如何修改mysql用户名
  • centos进入
  • 进程 cmd
  • window10怎样格式化u盘
  • xp系统开机只有一个鼠标箭头
  • 组策略配置锁屏
  • linux page buffer cache深入理解
  • 更改mac地址值
  • 一文看懂linux内核
  • linux小技巧
  • unity3d怎么用
  • Unity3D游戏开发培训课程大纲
  • Unity3D游戏开发引擎
  • 网页收集数据
  • Cocos2dx CCLabelAtlas字体与CCLabelTTF字体的使用方法
  • JQuery和HTML5 Canvas实现弹幕效果
  • shell 命令执行顺序
  • unity-chan
  • android 实例
  • 基于jquery实现小说
  • javascript获取数据
  • javascript面向对象 第三方类库
  • jquery入口
  • 企业破产享有的债权可否提前到期
  • 香皂需要换着用吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设