位置: 编程技术 - 正文

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

  • 简易征收预缴税率怎么算
  • 积分兑换商品怎么入账
  • 工商股权转让费用怎么算
  • 企业所得税季度申报时间
  • 专票不抵扣认证什么意思
  • 发票为啥一直显示上传不成功
  • 其他现代服务税目包括哪些内容
  • 居间合同有效期多久
  • 哪些单位和个人可构成全宗
  • 天猫的费用一共17个分别是什么
  • 结转本月收入类账户到本年利润会计分录
  • 企业会计制准下增值税科目的核算
  • 资本回收系数等于什么系数与利率之和
  • 权益净利率如何算
  • 收到子公司税后利润
  • 企业法人不是实际老板怎么办
  • 一般纳税人可以开3%的发票吗
  • 税字号是不是纳税人识别号
  • 债权投资属于其他非流动金融资产嘛
  • 发票报销增值税
  • 怎样冲回多提应收账款?
  • 编制会计报表利润表
  • 派发现金红利怎么知道有没有
  • 航空公司票价怎么定的
  • 非居民纳税人享受协定待遇办理方式
  • wifi上传速度为0的解决方法
  • 资产负债表的资产总额怎么看
  • 小规模餐饮业怎样报税减免
  • win7为什么没有本地连接
  • 租赁费和场地租赁费区别
  • 销售产品的运输费属于什么会计科目
  • 转出未交增值税借方余额表示什么
  • php常用数组函数和用法
  • php实现邮箱验证码
  • vue插槽的使用场景
  • seaborn库的特点
  • 终于见识到什么叫云横秦岭了
  • python 如何学
  • 公司给员工租房进项税可以抵扣吗
  • 怎么向银行申请贷款
  • 小微企业可以不交税吗
  • 成本核算需要哪些单据
  • mysql数据库死锁
  • 买车哪些费用可以计入固定资产
  • 原材料的对应账户有哪些
  • 向非关联企业捐赠现金
  • 购买产品样品计入什么科目
  • 投标保证金会计科目
  • 长期合同价格怎么定
  • 进项税额转出可以在所得税前扣除吗
  • 印花税可以去地方申报吗
  • 联营企业和子公司哪个好
  • 教育费附加如何做分录
  • 红字冲销凭证怎么登明细账
  • Ubuntu中Source Insight的使用详解
  • ubuntu 16.04 u盘安装
  • sata驱动怎么装
  • dx12不支持dx11解决办法
  • Windows XP英文版序列号
  • centos6设置ip
  • linux0.01编译
  • fsmb32.exe是什么进程 作用是什么 fsmb32进程查询
  • centos bbrplus
  • xwizard.exe是什么
  • linux如何打包tar.gz
  • opengl update
  • uploadify文件上传
  • opengl绘图
  • python读取文件指定内容
  • ubuntu服务器配置代理访问外网
  • js行号显示的文字不一样
  • javascript语法总结
  • 网页文件的标记是
  • javascript教程推荐知乎
  • shape form的区别
  • 湖北税务发票查询系统网
  • 成都市武侯区税务局官网
  • 海南国税局待遇
  • 契税5年什么意思?
  • 认缴制什么时候开始的?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设