按照获取范围整理:

1. content

$(node).height()

image

2. content+padding

$(node).innerHeight()

image

原生JS:

node.clientHeight只读属性,元素content+padding目前可视的部分,不包括滚动条。

node.scrollHeight只读属性,元素content+padding所有可滚动部分,不包括滚动条

window.innerHeight可以返回窗口可视区高度。

* clientHeight和scrollHeight的区别

从字面意思讲:clientHeight返回元素可视区的高度(不包括伪元素),scrollHeight返回整个元素所有部分的大小(很神奇的包括伪元素!)。

当元素小于容器大小时,node.scrollHeight == node.clientHeight

image

image

3. content+padding+border

$(node).outerHeight()

image

原生JS

node.offsetHeight,只读属性,content+padding+元素水平滚动条。这个属性值会被四舍五入为整数值。

window.outerHeight可以返回整个窗口的高度,包括地址栏菜单栏状态栏等等一系列乱七八糟的东西(有什么使用场景希望大家给个补充~)。

注:window不是一般的DOM元素,比如它就没有clientHeight属性。

4. content+padding+border+margin

$(node).outerHeight(true)

(示意图同上)

特殊的:window、document

window和document都不是DOM元素,不能按普通的DOM元素调用API。

window:窗口

window本身只有两个高度:

window.innerHeight 可视区高度

window.outerHeight 窗口整体带菜单地址栏等等的高度

但是window还有一个元素,它也有两个height:

window.screen:用户屏幕信息

window.screen.height 用户屏幕高度(不换屏这个数值不变)

window.screen.availHeight 用户屏幕能使用的高度。

window.screen 就是媒体查询@media screen and (min-width: 700px){ // some css styles }里面的screen。

补充:在Mac上实验,Chrome浏览器在桌面时,window.screen.height === 900,window.outerHeight === window.screen.availHeight === 878。但是将浏览器全屏(单开桌面)时,window.screen.availHeight === 878,window.outerHeight === window.screen.height === 900。即窗口实际高度竟然超过了屏幕可用高度!

火狐浏览器的表现更好,window.screen.availHeight 会跟随全屏状态,即单开桌面时,window.outerHeight === window.screen.availHeight === window.screen.height === 900。

document:文档

document是指整个html文件。它并不是一个页面更不是一个DOM元素,所以document没有高度。

那么document到底是个什么位置呢?下面给出主要元素的相对关系:

document.documentElement => html

document.documentElement.childeNodes[1] => body

document.body => body

document.documentElement

上面说了document.documentElement就是html标签,DOM元素会有的属性,document.documentElement就会有,包括clientHeight,scrollHeight,offsetHeight。

一般的,window.innerHeight === document.documentElement.clientHeight

dom元素滚动条高度 js_JS中元素高度相关方法相关推荐

  1. python画位势高度图_位势高度计算中气压-高度公式的简化及其误差

    位势高度计算中气压高度公式的简化及其误差 崔喜爱 1 顾浩 2 曹云昌 1 [摘 要] 摘要:对高空气象学领域而言 , 位势高度是重要的一个参量,为天气学 和气候学业务应用所提供的高度一般是位势高度. ...

  2. 设有6个有序表A、B、C、D、E、F,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最

    设有6个有序表A.B.C.D.E.F,分别含有10.35.40.50.60和200个数据元素,各表中元素按升序排列.要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最 ...

  3. dom元素滚动条高度 js_js获取元素的滚动高度,和距离顶部的高度

    监控元素出现在视图中 p { height: 30px; line-height: 30px; background: #f3f3f3; opacity: 0; } 你好,china! 你好,chin ...

  4. Java黑皮书课后题第10章:*10.10(Queue类)10.6节给出一个Stock类。设计一个名为Queue的类用于存储整数。像栈一样,队列保存元素。在栈中,元素后进先出。队列中元素先进先出

    10.10(Queue类)10.6节给出一个Stock类,设计一个名为Queue的类用于存储整数 题目 程序 破题 代码 Test10.java Test10_Queue.java UML 题目 程序 ...

  5. python查看列表有多少元素_python 统计列表中元素的数量

    一.统计列表中不同元素的个数 这个需求是统计列表中不同元素有几个,由于列表是允许存在重复元素的,但是集合却不允许存在重复元素,所以可以将list转换为set,然后求长度. list=[1,2,1,2, ...

  6. 地壳中元素含量排名记忆口诀_地壳中元素含量_地壳中元素含量口诀

    地壳中元素含量 下面有关硅的叙述中,正确的是A.光导纤维是以硅酸盐为主要原料制成的B.硅是构成矿物和岩石的主要元素,硅在地壳中的含量在所有的元素 问题补充:试题难度:困难试题类型:选择题试题内容:下面 ...

  7. python列表中元素移动_python list中元素依次向前移动一位的方法

    python list中元素依次向前移动一位的方法 发布于 2014-09-14 19:09:58 | 1053 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种 ...

  8. [转载] python获取set中某些元素_取集合中元素_Python Set集合

    参考链接: Python set集合 copy() Set集合 阅读本文需要3分钟 2019.09.05 集合(set)是一个无序不重复元素的序列.基本功能是进行成员关系测试和删除重复元素.可以使用大 ...

  9. python获取set中某些元素_取集合中元素_Python Set集合

    Set集合 阅读本文需要3分钟 2019.09.05 集合(set)是一个无序不重复元素的序列.基本功能是进行成员关系测试和删除重复元素.可以使用大括号 { } 或者 set() 函数创建集合,注意: ...

最新文章

  1. Android动画效果translate、scale、alpha、rotate详解
  2. 服务器查看gpu状态_如何查看服务器gpu
  3. linux 源码编译upx 压缩软件
  4. 关于虚拟内存,你需要了解的一些概念
  5. libpcap介绍(一)
  6. Python中列表索引为的负数时,意义与R不同
  7. opencv图像仿射变换和普通旋转
  8. java中静态代码块的用法 static用法详解
  9. 同省异地社保卡要换吗_攀枝花社保卡在成都住院可直接结算吗,要办理异地就医备案才行...
  10. NVisionXR_iOS教程十 —— 加载视频控件
  11. python 列表输入sql_将Python列表传递到SQL查询
  12. idea创建springcloud项目_新手向,十分钟快速创建 Spring Cloud 项目
  13. oracle学习资料pdf
  14. 中国数控机床行业市场竞争态势及投资战略规划报告2022-2028年版
  15. ps图片去水印-ps图片去水印教程
  16. 【百问网】物联网项目学习总结
  17. 挪车码微信小程序开发(隐私保护通话)
  18. JS封装数组API push,pop,shift,unshift,sort, reverse
  19. 1st Competition of Datawhale: the car price prediction
  20. STM32三菱FX1N,FX2N,FX3U,PLC方案 可以直接上传下载梯形图,在线监控,具有称重功能,数码管功能,可以做到10路模拟量

热门文章

  1. 将txt文件转换为m3u文件
  2. 2022 年 SAS base认证考试 记录以及Tips
  3. highcharts logo remove
  4. flex布局之多行多列
  5. Wsyscheck20080122(V1.68.21)
  6. 物联网开发系统有什么作用?
  7. 重装助手教你怎么关闭笔记本触摸板
  8. 仿真测试-HiL测试全解析
  9. Nginx为何快如闪电?
  10. (转载)iOS直播类APP开发流程