本文章收藏了两个关于取得窗口大小并且兼容所有浏览器的js代码哦,有需要的朋友可以简单的参考一下哦。
例1
代码如下 |
|
var pageWidth = window.innerWidth,
var pageHeight = window.innerHeight;
if(typeof pageWidth != "number"){
if(document.compatMode == "number"){
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
}else{
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight;
}
}
|
我们把上面的升级一下
代码如下 |
|
var x = document.body.scrollLeft;
var y = document.body.scrollTop;
//获取屏幕宽度
availWidth = parseInt(window.screen.availWidth);
availHeight = parseInt(window.screen.availHeight);
//获取可见区域 宽度 高度
availWidth = parseInt(document.body.clientWidth);
availHeight = parseInt(document.body.clientHeight);
可见区域高度:document.body.clientHeight
总高度:document.body.scrollHeight
可见区域宽度:document.body.clientWidth
总宽度:document.body.scrollWidth
==============================================================
var getWindowInfo=function()
{
var scrollX=0,scrollY=0,width=0,height=0,contentWidth=0,contentHeight=0;
if(typeof(window.pageXOffset)=='number')
{
scrollX=window.pageXOffset;
scrollY=window.pageYOffset;
}
else if(document.body&&(document.body.scrollLeft||document.body.scrollTop))
{
scrollX=document.body.scrollLeft;
scrollY=document.body.scrollTop;
}
else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop))
{
scrollX=document.documentElement.scrollLeft;
scrollY=document.documentElement.scrollTop;
}
if(typeof(window.innerWidth)=='number')
{
width=window.innerWidth;
height=window.innerHeight;
}
else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight))
{
width=document.documentElement.clientWidth;
height=document.documentElement.clientHeight;
}
else if(document.body&&(document.body.clientWidth||document.body.clientHeight))
{
width=document.body.clientWidth;
height=document.body.clientHeight;
}
if(document.documentElement&&(document.documentElement.scrollHeight||document.documentElement.offsetHeight))
{
if(document.documentElement.scrollHeight>document.documentElement.offsetHeight){
contentWidth=document.documentElement.scrollWidth;
contentHeight=document.documentElement.scrollHeight;
}
else
{
contentWidth=document.documentElement.offsetWidth;
contentHeight=document.documentElement.offsetHeight;
}
}
else if(document.body&&(document.body.scrollHeight||document.body.offsetHeight))
{
if(document.body.scrollHeight>document.body.offsetHeight)
{
contentWidth=document.body.scrollWidth;
contentHeight=document.body.scrollHeight;
}else{
contentWidth=document.body.offsetWidth;
contentHeight=document.body.offsetHeight;
}
}
else
{
contentWidth=width;
contentHeight=height;
}
if(height>contentHeight)
height=contentHeight;
if(width>contentWidth)
width=contentWidth;
var rect=new Object();
rect.ScrollX=scrollX;
rect.ScrollY=scrollY;
rect.Width=width;
rect.Height=height;
rect.ContentWidth=contentWidth;
rect.ContentHeight=contentHeight;
return rect;
}
|
这个功能更强大,兼容性更强哦。
相关参数说明
网页可见区域宽: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