本文目录一览:
js获取各种高度
先来一个浏览器窗口大小改变的事件,用来查看浏览器窗口的大小被改变可以触发一些函数
window.onresize 浏览器窗口大小改变事件
在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。
(不加边线):
网页可见区域的高度和宽度(加边线):
如何用JS动态获取浏览器的宽高
IE中:
document.body.clientWidth == BODY对象宽度
document.body.clientHeight == BODY对象高度
document.documentElement.clientWidth == 可见区域宽度
document.documentElement.clientHeight == 可见区域高度
FireFox中:
document.body.clientWidth == BODY对象宽度
document.body.clientHeight == BODY对象高度
document.documentElement.clientWidth == 可见区域宽度
document.documentElement.clientHeight == 可见区域高度
Opera中:
document.body.clientWidth == 可见区域宽度
document.body.clientHeight == 可见区域高度
document.documentElement.clientWidth == 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight == 页面对象高度(即BODY对象高度加上Margin高)
没有定义W3C的标准,则
IE为:
document.documentElement.clientWidth == 0
document.documentElement.clientHeight == 0
FireFox为:
document.documentElement.clientWidth == 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight == 页面对象高度(即BODY对象高度加上Margin高)
Opera为:
document.documentElement.clientWidth == 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight == 页面对象高度(即BODY对象高度加上Margin高)
网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
示例:
var winWidth = 0;
var winHeight = 0;
function findDimensions() //函数:获取尺寸
{
//获取窗口宽度
if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) (document.body.clientWidth))
winWidth = document.body.clientWidth;
//获取窗口高度
if (window.innerHeight)
winHeight = window.innerHeight;
else if ((document.body) (document.body.clientHeight))
winHeight = document.body.clientHeight;
//通过深入Document内部对body进行检测,获取窗口大小
if (document.documentElement document.documentElement.clientHeight document.documentElement.clientWidth)
{
winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;
}
//结果输出至两个文本框
document.form1.availHeight.value= winHeight;
document.form1.availWidth.value= winWidth;
}
findDimensions();
//调用函数,获取数值
window.onresize=findDimensions;
JS 获取当前浏览器宽高
JQuery获取:
console.log($(window).width()); //浏览器当前窗口可视区域宽度
console.log($(window).height()); //浏览器当前窗口可视区域高度
console.log($(document).width());//浏览器当前窗口文档对象宽度
console.log($(document).height()); //浏览器当前窗口文档的高度
console.log($(document.body).width());//浏览器当前窗口文档body的宽度
console.log($(document.body).height());//浏览器当前窗口文档body的高度
console.log($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin
console.log($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin
JS获取:
窗口可视区域宽度 : document.documentElement.clientWidth || document.body.clientWidth;
窗口可视区域高度 : document.documentElement.clientHeight || document.body.clientHeight;
窗口可视区域宽度+边线和滚动条 : document.body.offsetWidth ;
窗口可视区域高度+边线和滚动条 : document.body.offsetHeight ;
实际内容的宽度 : document.body.scrollWidth;
实际内容的高度 : document.body.scrollHeight;
滚动条下拉被卷起来的距离 :document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
滚动条侧拉被卷起来的距离 :document.body.scrollLeft || document.documentElement.scrollLeft ;
网页正文部分上 :window.screenTop;
网页正文部分左 :window.screenLeft;
元素的宽度 :obj.offsetWidth;
元素的高度 :obj.offsetHeight;
相对于父元素的上位移 :obj.offsetTop;(在元素的包含元素不含滚动条的情况下)
相对于父元素的左位移 :obj.offsetLeft;(在元素的包含元素不含滚动条的情况下)