相关文章推荐
八块腹肌的草稿本  ·  Protobuf3 系列二 ...·  1 年前    · 
跑龙套的单杠  ·  从 0 到 1 学习 ...·  1 年前    · 
有情有义的匕首  ·  VBA ...·  1 年前    · 
善良的莴苣  ·  perl - Accessing ...·  1 年前    · 
精彩文章免费看

2021-12-03记录:Javascript、Jquery获取浏览器和屏幕各种高度宽度

在自适应设计中,需要用js来判断浏览器宽度,从而调整网页宽度和布局,window.innerWidth能获取当前窗口的宽度(包含滚动条),当浏览器宽度调整时,这个值也会跟着变化。但是,window.innerWidth在IE8浏览器是无效的。那就使用$(window).width(),也是获得浏览器宽度的方法。

$(window).width()与window.innerWidth有什么区别?

1)$(window).width()需要引用jquery.js文件,它是jquery方法。而window.innerWidth是js方法,不需要引用jquery.js文件。

2)它们获取的数值是不同的,window.innerWidth获取当前窗口的宽度(包含滚动条),$(window).width()获取当前窗口的宽度(不包含滚动条)。

Javascript:

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

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

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

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

alert(document.body.scrollWidth);        //网页正文全文宽,包括有滚动条时的未见区域

alert(document.body.scrollHeight);      //网页正文全文高,包括有滚动条时的未见区域

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

alert(document.body.scrollLeft);          //网页被卷去的Left(滚动条)

alert(window.screenTop);                    //浏览器距离Top

alert(window.screenLeft);                    //浏览器距离Left

alert(window.screen.height);                //屏幕分辨率的高

alert(window.screen.width);                //屏幕分辨率的宽

alert(window.screen.availHeight);          //屏幕可用工作区的高

alert(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

原文链接:https://blog.csdn.net/function__/article/details/72843722

关于js中的offsetWidth、clientWidth、scrollWidth等一系列属性及其方法一直都傻傻分不清,网上找到以下内容,觉得还是蛮有用的。记录保留一下。

注意: 下面元素属性和元素方法都通过 elem.属性 或 elem.方法 的方式使用,window属性通过 window.属性 的方式使用,document属性则通过document调用。

<script>

/******* 元素视图属性

* offsetWidth 水平方向 width + 左右padding + 左右border-width

* offsetHeight 垂直方向 height + 上下padding + 上下border-width

*

* clientWidth 水平方向 width + 左右padding

* clientHeight 垂直方向 height + 上下padding

*

* offsetTop 获取当前元素到 定位父节点 的top方向的距离

* offsetLeft 获取当前元素到 定位父节点 的left方向的距离

*

* scrollWidth 元素内容真实的宽度,内容不超出盒子高度时为盒子的clientWidth

* scrollHeight 元素内容真实的高度,内容不超出盒子高度时为盒子的clientHeight

*

****** 元素视图属性结束

*

****** Window视图属性(低版本IE浏览器[<IE9]不支持) 【自测包含滚动条,但网络教程都说不包含???】

* innerWidth 浏览器窗口可视区宽度(包括滚动条,不包括浏览器控制台、菜单栏、工具栏)

* innerHeight 浏览器窗口可视区高度(包括滚动条,不包括浏览器控制台、菜单栏、工具栏)

* ***** Window视图属性结束

*

****** Document文档视图

* (低版本IE的innerWidth、innerHeight的代替方案)

* document.documentElement.clientWidth 浏览器窗口可视区宽度(不包括浏览器控制台、菜单栏、工具栏、滚动条)

* document.documentElement.clientHeight 浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏、滚动条)

*

* document.documentElement.offsetHeight 获取整个文档的高度(包含body的margin)

* document.body.offsetHeight 获取整个文档的高度(不包含body的margin)

*

* document.documentElement.scrollTop 返回文档的滚动top方向的距离(当窗口发生滚动时值改变)

* document.documentElement.scrollLeft 返回文档的滚动left方向的距离(当窗口发生滚动时值改变)

****** Document文档视图结束

*

****** 元素方法

* 1. getBoundingClientRect() 获取元素到body

*  bottom: 元素底边(包括border)到可视区最顶部的距离

*  left: 元素最左边(不包括border)到可视区最左边的距离

*  right: 元素最右边(包括border)到可视区最左边的距离

*  top: 元素顶边(不包括border)到可视区最顶部的距离

*  height: 元素的offsetHeight

*  width: 元素的offsetWidth

*  x: 元素左上角的x坐标

*  y: 元素左上角的y坐标

*

* 2. scrollIntoView() 让元素滚动到可视区

*

* ***** 元素方法结束

**/

</script>

原文链接:https://blog.csdn.net/qq_33036599/article/details/81224346