Javascript、Jquery获取浏览器和屏幕各种高度宽度

zhangycun 2021-12-09 原文

 

Javascript:

document.body 返回时<body></body>

document.documentElement返回的是 <html></html>

两者使用一般用于获取scrollTop,

document.body.scrollTop 的值一看,一直都是 0。一翻折腾,原来是 DTD 的问题,要是页面直接用 <html> 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。

如果有 DTD 时用,那就用 document.documentElement.scrollTop 代替 document.body.scrollTop 就可以了

一般情况下:兼容性写法如下:

 var w = document.documentElement.scrollTop || document.body.scrollTop

document.body.clientWidth ==> BODY可视宽度(不包含border,水平滚动条,margin)
document.body.clientHeight ==> BODY可视高度(不包含border,水平滚动条,margin)
document.documentElement.clientWidth ==> html可视宽度(不包含border,水平滚动条,margin)
document.documentElement.clientHeight ==> html可视高度(不包含border,水平滚动条,margin)

如果页面指定了 DOCTYPE,就是用document.documentElement.来获取,如果不指定 DOCTYPE,就用document.body 获取

document.body.clientWidth      //网页可见区域宽(body)

document.body.clientHeight       //网页可见区域高(body)

document.body.offsetWidth       //网页可见区域宽(body),包括border、margin等

alert(document.body.offsetHeight);      //网页可见区域宽(body),包括border、margin等

document.body.scrollWidth       //网页正文全文宽,可见宽度+隐藏宽度,页面会滚动,该属性才具有意义,如果不滚动,那么document.body.scrollWidth = document.body.clientHeight

document.body.scrollHeight      //网页正文全文高,可见高度+隐藏高度

document.body.scrollTop | document.documentElement.scrollTop         //网页被卷去的Top(滚动条)

document.body.scrollLef |  document.documentElement.scrollLef          //网页被卷去的Left(滚动条)

document.getElementById(“box”).offsetTop  // 该元素相对最近父级元素顶部的距离

window.screenTop                  //浏览器距离屏幕顶部的距离Top

window.screenLeft                    //浏览器距离屏幕左侧的距离Left

window.screen.height               //屏幕分辨率的高

window.screen.width                //屏幕分辨率的宽

window.screen.availHeight          //屏幕可用工作区的高

window.screen.availWidth          //屏幕可用工作区的宽

 

Jquery

alert($(window).height());                           //浏览器当前窗口可视区域高度

alert($(document).height());                        //浏览器当前窗口文档的高度

alert($(document.body).height());                //浏览器当前窗口文档body的高度

alert($(document.body).outerHeight(true));  //浏览器当前窗口文档body的总高度 包括border padding margin

alert($(window).width());                            //浏览器当前窗口可视区域宽度

alert($(document).width());                        //浏览器当前窗口文档对象宽度

alert($(document.body).width());                //浏览器当前窗口文档body的宽度

alert($(document.body).outerWidth(true));  //浏览器当前窗口文档body的总宽度 包括border padding margin

 

 

jquery获取html元素的绝对位置坐标和相对父元素的位置坐标方法:
绝对位置坐标:
$(“#elem”).offset().top
$(“#elem”).offset().left
相对父元素的位置坐标:
$(“#elem”).position().top
$(“#elem”).position().left

另:
static(默认):默认定位方式。
relative(相对定位):在static的基础上,相对元素本来的位置变化,通过设定top,bottom,left,right实现。
absolute(绝对定位):是相对父元素来说的,如果父元素中有relative,那么该元素的位置是经过计算后的结果。即absolute定位的参照物是“上一个定位过的父元素(static不算)”。绝对定位会使元素从文档流中被删除
fixed(固定定位):fixed定位的参照物总是当前的文档。利用fixed定位,很容易让一个div定位在浏览器文档的左上,右上等方位。

版权声明:本文为zhangycun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhangycun/p/7345905.html

Javascript、Jquery获取浏览器和屏幕各种高度宽度的更多相关文章

  1. ES6小点心之通用弹窗

    小点心,顾名思义,开箱即食,拿来即用。 前端业务逻辑主要分为【交互效果】和【数据展示】两方面。数据展示可使用 […]...

  2. React 进阶之路(五)

    之前的文章我们介绍了  React 事件,方法, React定义方法的几种方式 获取数据 改变数据 执行方法传 […]...

  3. JavaScript 数据结构与算法之美 – 十大经典排序算法汇总(图文并茂)

    1. 前言 算法为王。 想学好前端,先练好内功,内功不行,就算招式练的再花哨,终究成不了高手;只有内功深厚者, […]...

  4. Python JavaScript

    JavaScript 一 JavaScript是什么(html网页的动态效果):   JavaScript(下 […]...

  5. 柯里化与反柯里化

    前言 柯里化,可以理解为提前接收部分参数,延迟执行,不立即输出结果,而是返回一个接受剩余参数的函数。因为这样的 […]...

  6. javascript a标签href点击不进行跳转的解决办法

    a标签的href 跳转失效的问题 我找到两个解决办法:记录如下: 在你的URL最后添加一个随机的参数,这样写的 […]...

  7. ES2015 中的函数式Mixin

    原文链接:http://raganwald.com/2015/06/17/functional-mixins. […]...

  8. 【书摘】一种基于Git的版本管理方案

    本篇摘录自《前端工程化体系设计与实践》一书,笔者认为是一套相对合理的方案,建议团队可以根据实际情况进行调整并增 […]...

随机推荐

  1. java如何实现在系统资源管理器中选中指定文件/文件夹? – balabala已被注册

    java如何实现在系统资源管理器中选中指定文件/文件夹? 在windows系统下,可以通过命令行方式选中指定文 […]...

  2. 如何获得微信小游戏源码 – 荣耀王者

    如何获得微信小游戏源码 准备工作 一部已经 root 的 Android 手机 安装微信 6.6.1 版本的 […]...

  3. 【python】使用plotly画三维立体高逼格图,数据可视化

    使用plotly画三维立体高逼格图,代码传送门: import plotly.graph_objects as […]...

  4. 分类器的组合算法提升准确率概要

    分类器提升精确度主要就是通过组合,综合多个分类器结果,对最终结果进行分类。   组合方法主要有三种:装袋(ba […]...

  5. 笛卡尔积

    在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对 […]...

  6. 比较Power BI和Tableau,好比用奔驰对比奥迪

    经常会有人问Power BI和Tableau的区别,好吧,为了非IT专业的能看懂,咱们就用车,奔驰和奥迪来对比 […]...

  7. LaTeX转义特殊符号

    转义字符在LaTeX中有一些符号被用于特殊的用途,如 \\      \backslash\ 符号被用于命令的 […]...

  8. 在线语音转文字工具V1.0

      介绍 在线语音转文字工具V1.0,采用C#开发语音基于Framework4.5开发,主要采用百度语音识别S […]...

展开目录

目录导航