js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码


Posted in Javascript onDecember 17, 2012

获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下。
IE中,浏览器显示窗口大小只能以下获取: 代码如下复制代码

document.body.offsetWidth 
document.body.offsetHeight

在声明了DOCTYPE的浏览器中,可以用以下来获取浏览器显示窗口大小: 代码如下复制代码
document.documentElement.clientWidth 
document.documentElement.clientHeight

IE,FF,Safari皆支持该方法,opera虽支持该属性,但是返回的是页面尺寸;
同时,除了IE以外的所有浏览器都将此信息保存在window对象中,可以用以下获取: 代码如下复制代码
window.innerWidth 
window.innerHeight

整个网页尺寸一般获得方法 代码如下复制代码
document.body.scrollWidth 
document.body.scrollHeight

屏幕分辨率高度一般获得方法 代码如下复制代码
window.screen.height 
window.screen.width

总结一下实例
function getViewSizeWithoutScrollbar(){//不包含滚动条 
return { 
width : document.documentElement.clientWidth, 
height: document.documentElement.clientHeight 
} 
} 
function getViewSizeWithScrollbar(){//包含滚动条 
if(window.innerWidth){ 
return { 
width : window.innerWidth, 
height: window.innerHeight 
} 
}else if(document.documentElement.offsetWidth == document.documentElement.clientWidth){ 
return { 
width : document.documentElement.offsetWidth, 
height: document.documentElement.offsetHeight 
} 
}else{ 
return { 
width : document.documentElement.clientWidth + getScrollWith(), 
height: document.documentElement.clientHeight + getScrollWith() 
} 
} 
}

IE,FireFox 差异如下:
IE6.0、FF1.06+: 
clientWidth = width + padding 
clientHeight = height + padding 
offsetWidth = width + padding + border 
offsetHeight = height + padding + border 
IE5.0/5.5: 
clientWidth = width - border 
clientHeight = height - border 
offsetWidth = width 
offsetHeight = height

另附个人最常用的获取整页宽高的方法(需要jquery框架) 代码如下复制代码
$(document).width() < $('body').width() ? $(document).width() : $('body').width(); 
$(document).height() < $('body').height() ? $(document).height() : $('body').height();

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

alert($(document).scrollTop()); //获取滚动条到顶部的垂直高度
alert($(document).scrollLeft()); //获取滚动条到左边的垂直宽度

Javascript 相关文章推荐
&amp;lt;script defer&amp;gt; defer 是什么意思
May 10 Javascript
JavaScript 面向对象的 私有成员和公开成员
May 13 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
Jul 11 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
JS的参数传递示例介绍
Feb 08 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
Sep 18 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
Nov 14 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
Dec 07 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
Dec 17 #Javascript
IE不支持getElementsByClassName最终完美解决方案
Dec 17 #Javascript
jQuery移动和复制dom节点实用DOM操作案例
Dec 17 #Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 #Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
Dec 17 #Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 #Javascript
如何让页面在打开时自动刷新一次让图片全部显示
Dec 17 #Javascript
You might like
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python中取整的几种方法小结
2017/01/06 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
python实现得到当前登录用户信息的方法
2019/06/21 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
pandas针对excel处理的实现
2021/01/15 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
Shell如何接收变量输入
2012/09/24 面试题
大学生个人求职信范文
2013/09/21 职场文书
销售会计工作职责
2013/12/02 职场文书
大学运动会通讯稿
2014/01/28 职场文书
四风查摆剖析材料
2014/10/10 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
道歉的话语大全
2015/05/12 职场文书
中秋联欢会主持词
2015/07/04 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript