天天看點

Javascript擷取和設定視窗大小

原文出處:http://chen-xiao-mei2009-163-com.iteye.com/blog/381922

網頁可見區域寬: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均無關)

1.function resize(){  

2. var win =  Ext.fly('窗體對象元件');//獲得要調整的窗體,注意這裡先用Ext.fly的方式來擷取元件

,如果不行再換别的,如getCmp,get等  

3.//然後參考 http://www.iteye.com/topic/155981 這篇部落格,來動态設定元件的大小  

4. 

5.}  

6.window.onresize = resize;  

7.          

8.Ext.onReady(function(){           

9.  resize();  

10.  //.....  

11.} 

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();

})

繼續閱讀