原生js和jquery 获取文档高度

一.原生js获取页面和浏览器高度和宽度

1.获取浏览器的高度和高度

  工具栏高/宽度 :包含了地址栏、书签栏、浏览器边框等范围。如:高度,可通过浏览器高度 - 页面可用高度得出,即:window.outerHeight - window.innerHeight。

  window.outerHeight :浏览器高度(包含了工具栏高度)。window.outerWidth :浏览器宽度(包含了工具栏宽度)。

  以获取浏览器的高度为例:
  1) window.outerHeight

  2) window.innerHeight

2.获取页面的高度和高度

  1) body.clientWidth ,body.clientHeight :

  body.clientHeight :body展示的高度;表示body在浏览器内显示的区域高度。 (由元素内容高度决定)body.clientWidth :body展示的宽度;表示body在浏览器内显示的区域宽度。 (由元素内容宽度决定)

  先引申一个知识点document.documentElement和document.body的区别

document代表的是整个文档(对于一个网页来说包括整个网页结构),document.documentElement是整个文档节点树的根节点,在网页中即html标签;
document.body是整个文档DOM节点树里的body节点,网页中即为body标签元素

  body元素的高度和宽度是由元素内容决定的,例如body中有一个元素box,高度是300px,则body的高度也是300px,但是html标签的高度是由浏览器决定的。

<!--* @Descripttion:* @version:* @Author: fengyang* @Date: 2021-07-05 15:19:49* @LastEditors: fengyang* @LastEditTime: 2021-10-21 21:20:28
-->
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.box {height: 300px;background-color: pink;}</style></head><body><div class="box"></div><script>console.log(document.documentElement .clientWidth, 'document.documentElement.clientWidth');console.log(document.documentElement .clientHeight, 'document.documentElement.clientHeight');console.log(document.body.clientWidth, 'document.body.clientWidth');console.log(document.body.clientHeight, 'document.body.clientHeight');</script>
</body></html>


  再引申一个知识点,window.innerHeight和document.documentElement.clientHeight区别

1.window.innerHeight属于BOM(浏览器对象模型),而document.documentElement.clientHeight则属于文档对象模型
2.window.innerHeight获取的高度包含横向滚动条,而document.documentElement.clientHeight不包含横向滚动条

  可以看到没有横向滚动条时两者是相等的


  现在我们将上面代码中box的宽度改为120%,使之出现横向滚动条,再看看结果:
  横向滚动条高度 = window.innerHeight - document.documentElement.clientHeight

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}html,body{height: 100%;width: 100%;}.box{height: 100%;width: 120%;background-color: pink;}</style></head><body><div class="box"></div><script>console.log(document.documentElement .clientWidth, 'document.documentElement.clientWidth');console.log(document.documentElement .clientHeight, 'document.documentElement.clientHeight');console.log(window.innerHeight, 'window.innerHeight');console.log(window.innerWidth, 'window.innerWidth');</script>
</body></html>

二.jquery获取页面和浏览器高度和宽度

        $(document):整个文档 $(document).height()等价于 document.documentElement.clientHeight$("body"):body === $(document.body) $("body").height() 等价于 (document.body.clientHeight$(window):视口 等价于原生window.innerHeight  window.outerHeight注意当浏览器窗口大小改变时(如最大化或拉大窗口后) $(window).height() 而$(document).height()是不变的 (由元素高度固定)

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="jquery.min.js"></script><style>* {margin: 0;padding: 0;}div {height: 300px;width: 120%;background-color: pink;}</style>
</head><body><div></div><script>console.log($(window).outerHeight(), 'window.outerHeight');console.log($(window).innerHeight(), 'window.innerHeight');console.log($(window).height(), 'window.height');console.log($(document).height(), 'document.height');console.log($(document.body).height(), 'document.body.height');console.log($("body").height(), 'body.height');</script></body>

原生js和jquery 获取文档高度相关推荐

  1. jquery获取文档高度和窗口高度的例子

    jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  2. jq获取页面高度_jquery获取文档高度和窗口高度汇总

    jquery获取窗口高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  3. Js和jQuery的文档就绪函数以及执行次数

    https://www.cnblogs.com/yingyingh5/p/7786821.html 文档就绪函数的使用方法是: 完整方式: $(document).ready(fn) 或者jQuery ...

  4. 原生js或者jquery获取父级元素/同级元素/下级元素

    1.js获取 var s= document.getElementByIdx_x("test"); var chils= s.childNodes;  //得到s的全部子节点 va ...

  5. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

  6. node.js服务端笔记文档学会写接口,学习分类:path、包、模块化、fs、express、中间件、jwt、开发模式、cors。

    node.js 学习笔记 node.js服务端笔记文档学会写接口,path.包.模块化.fs.express.中间件.JWT.开发模式.cors. gitee:代码接口笔记 1什么是node.js n ...

  7. 原生js与jquery的区别

    原生js与jquery的区别 1.选择器: js: $('.car_img_con img')[0]; var jsObj = document.getElementsByClassName('sel ...

  8. js中动态获取页面的高度和宽度的方法总结

    javascript,jquery获取网页的高度和宽度: javascript: 可视区域宽:document.documentElement.clientWidth(width+padding) 可 ...

  9. JQuery 查询文档元素

    JQuery jQuery 为web脚本编程提供了通用的抽象层,使得它几乎用于任何脚本编程的情形. jQuery 能够满足如下功能: l          取得页面的元素 l          修改页 ...

  10. jQuery (筛选文档处理)

    大家好,我是小陽,我又来了,今天我给大家带来的是jQuery的筛选and文档处理,希望能给大家带来一些知识上的帮助! 目录 一.思维导图 二.jQuery的筛选 三.jQuery的文档处理 一.思维导 ...

最新文章

  1. 【scala】 scala 条件控制 和异常处理(二)
  2. C语言 · 贪心算法
  3. jooq sql_用jOOQ用Java编写SQL
  4. Spring Boot中使用@Scheduled创建定时任务
  5. 我的游测之路 | 揭秘游戏测试神秘面纱(一)
  6. CentOS7.1下targetcli的使用
  7. ACache【轻量级的开源缓存框架】
  8. Axure实现提示文本单击显示后自动消失的效果
  9. Web Client Software Factory系列(3):View-Presenter模式
  10. python访问组策略_python 组策略
  11. 大数据应用存在哪些安全隐患
  12. python pcl_windows 10 环境pcl-python 安装
  13. Docker 开篇 1 | 树莓派中搭建Docker
  14. MyBatis学习(二)使用注解开发、Mybatis 执行流程、一对多多对一的结果集映射
  15. Listen 0.0.0.0:80 Listen [::0]:80
  16. 【金融量化分析】#BSM formula 的推导(解随机微分方程)
  17. python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,部署在阿里云服务器,再也不用担心背单词啦!!
  18. RS-422接口定义
  19. 新卡插手机显示无服务器,手机插卡无服务怎么回事
  20. java中国象棋兵吃棋规则_中国象棋吃子的规则

热门文章

  1. 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
  2. uni-app 小程序后端返回二进制流图片显示
  3. html给一个样式最高权重,什么是CSS权重?
  4. lwj_C#_work 字符串、类的使用和数学运算
  5. TC8:UDP_FIELDS_01-16
  6. python实战-爬取斗鱼所有颜值主播头像
  7. vim:the damn garbled of vim-devicons from nerdtree
  8. dtech串口驱动 linux,帝特USB转串口驱动
  9. vant 开始结束日期_在vant中使用时间选择器实现结束时间和开始时间
  10. elementUI中日期时间插件(DateTimePicke) 限制结束时间大于开始时间且开始时间小于当前时间