js之获取窗口大小和位置信息

时间:2024-03-08 11:33:28
除IE外的浏览器查看窗口大小和位置信息:
//The overall size of the browser window on the desktop

var windowWidth = window.outerwidth;
var windowHeight = window.outerHeight;
 
//This is the position of the browser window on the desktop
var windowX = window.screenX;
var windowY = window.screenY;
 
//The size of the viewport in which the HTML document is displayed
//This is the window size minus the menu bars,toolbars,scrollbars,etc.
var viewportWidth = windows.innerWidth;
var viewportHeight = windows.innerHeight;
 
//These values specify the horizontal and vertical scrollbar positions.
//They are used to convert between document coordinates and window coordinates.
//These values specify what part of the document appears in the upper-left corner of the screen.
var horizontalScroll = window.pageXOffset;
var verticalScroll = window.pageYOffset;
------------------------------------------------------------------
var x=window.screenLeft?window.screenLeft: window.screenX ; 
var y=window.screenTop?window.screenTop: window.screenY; 
alert(x+" "+y); 

 

网页可见区域宽: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 相对文档的水平座标+垂直方向滚动的量

 

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 

(CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关) 

function resize(){   
       var win =  Ext.fly(\'窗体对象组件\');//获得要调整的窗体,注意这里先用Ext.fly的方式来获取组件 ,如果不行再换别的,如getCmp,get等  
                                        //然后参考 http://www.javaeye.com/topic/155981 这篇博客,来动态设定组件的大小  
}   
window.onresize = resize;   
         
Ext.onReady(function(){            
               resize();  
}  

Ext.onReady(function(){ 
               formWindow = new Ext.Window({   
                    layout:\'fit\',  
                    width:480,  
                    height:360,  
                    resizable:true,  
                    closeAction:\'close\',  
                    plain: true,  
                    maximizable: true,  
                //    minimizable : true,  // 最小化 
                    listeners: {  
                        close:function(w){  
                            //关键部分:关闭窗口前先还原,滚动条才不会消失  
                            w.restore();  
                        },  
                        maximize:function(w){      
                            //关键部分:最大化后需要将窗口重新定位,否则窗口会从最顶端开始最大化                          
                            w.setPosition(document.body.scrollLeft-4,document.body.scrollTop- 4);  
                        }  
                    }  
         }); 
         formWindow.show(); 
})