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 相关文章推荐
JavaScript 高效运行代码分析
Mar 18 Javascript
纯JS实现根据CSS的class选择DOM
Mar 22 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
js操作cookie保存浏览记录的方法
Dec 25 Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 Javascript
BootStrap实现轮播图效果(收藏)
Dec 30 Javascript
ionic2 tabs 图标自定义实例
Mar 08 Javascript
webpack+vue中使用别名路径引用静态图片地址
Nov 20 Javascript
vue实现动态列表点击各行换色的方法
Sep 13 Javascript
JavaScript时间与时间戳的转换操作实例分析
Dec 07 Javascript
微信小程序实现聊天室功能
Jun 14 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
cmd下运行php脚本
2008/11/25 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
初学Javascript的一些总结
2008/11/03 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
python批量修改交换机密码的示例
2020/09/22 Python
庆八一活动方案
2014/01/25 职场文书
远程培训的心得体会
2014/09/01 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js