位置: 编程技术 - 正文

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

  • 普通发票金额和申报工资有关系吗
  • 生鲜配送公司财务制度
  • 企业职工薪酬的个人所得税纳税筹划研究
  • 农产品核定扣除范围
  • 公司注销时发现很多年前多发了员工的工资
  • 家电公司销售电器赠送小礼品如何做账?
  • 股权拍卖溢价部分如何做会计处理?
  • 坏账准备一般余额在哪方
  • 营改增后还有企业所得税吗?
  • 医院哪些收入需要交企业所得税
  • 水电费差价收入计算增值税公式是怎样的?
  • 抵扣税款是什么意思呢
  • 促销服务费能抵增值税吗
  • 公司业务招待费占比
  • 企业开票代码是什么意思
  • 税收六项减免
  • 关于土地增值税若干问题的通知
  • 老版普通增值税发票还能用吗
  • 电子票据查询打印
  • 违约支付工程款的违约金
  • 增值税预缴税款表
  • 净利润和毛利润的计算公式
  • 增值税的销项税额和进项税额的区别
  • 所得税招待费用
  • win11正式版好用吗
  • 如何能屏蔽自动扣费服务
  • 询证函有法律效力吗
  • 虚增利润
  • php数组函数有哪些
  • awk命令怎么用
  • 圣伊利亚斯山
  • dreamweaver 是什么
  • 企业扣除内容有哪些
  • PHP:ftp_rename()的用法_FTP函数
  • php ftp上传文件
  • Ant Design Pro(5)-7.高级表格ProTable
  • php 读取文本文件
  • php deprecated
  • 克雷格格林
  • 跨年的材料票可以抵扣吗
  • 汇总开具的运输发票
  • 百慕大玛丽号
  • 负债大于资产能贷款吗
  • 微信支付php开发流程
  • spring获取bean的完全限定类名
  • 工会经费减除项包括哪些
  • 零申报的公司有财务报表吗
  • 快递费属于办公费用吗?
  • 母公司可以免子女税吗
  • 利息收入算什么会计科目
  • 计提应收账款坏账准备属于谨慎性吗
  • 个人住的房子要交房产税吗
  • 汇算清缴要退税1750元,不想退要调平怎么调?
  • 购买的车位是否要交税
  • 赠送产品会计分录怎么写
  • 银行代发工资业务收费吗
  • 物业安装摄像头的规定
  • 留底税额怎么入账
  • 发生的费用
  • 资本成本率是指企业用资费用与有效筹资额之间的比率
  • 股东投入固定资产怎么做账
  • 账簿设计要以()为前提
  • sqlserver怎么恢复数据
  • sql简单教程
  • http500内部错误
  • arm和x86性能差多少
  • openwrt 路由配置梯子
  • xp系统win键没反应
  • Win7自带的扫雷怎么都打不开
  • win8 系统设置
  • win7系统无线鼠标不能连接
  • win10英文版系统怎么完全改为中文
  • dos怎么上网
  • 微信公众号摇号软件
  • [Unity3D]Unity3D游戏开发之塔防游戏项目讲解(上)
  • javascript indexOf方法、lastIndexOf 方法和substring 方法
  • android四大组件五大布局
  • javascript面向对象 第三方类库
  • 自然资源税税率
  • 数电发票抄报税操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设