Js获取窗口页面的位置宽度信息

js 和 jquery 获取页面和滚动条的高度
 
//页面位置及窗口大小
function GetPageSize() {
    var scrW,
    scrH;
    if (window.innerHeight
         && window.scrollMaxY) { // Mozilla
        scrW =
            window.innerWidth + window.scrollMaxX;
        scrH = window.innerHeight +
            window.scrollMaxY;
    } else if (document.body.scrollHeight >
        document.body.offsetHeight) { // all but IE Mac
        scrW =
            document.body.scrollWidth;
        scrH = document.body.scrollHeight;
    } else
        if (document.body) { // IE Mac
            scrW = document.body.offsetWidth;

            scrH = document.body.offsetHeight;
        }
    var winW,
    winH;

    if (window.innerHeight) { // all except IE
        winW =
            window.innerWidth;
        winH = window.innerHeight;
    } else if
    (document.documentElement &&
        document.documentElement.clientHeight) { // IE 6 Strict Mode
        winW =
            document.documentElement.clientWidth;
        winH =
            document.documentElement.clientHeight;
    } else if (document.body) { //
        other
        winW = document.body.clientWidth;
        winH =
            document.body.clientHeight;
    } // for small pages with total size less
    then the viewport
    var pageW = (scrW < winW) ? winW : scrW;
    var pageH =
        (scrH < winH) ? winH : scrH;
    return {
        PageW : pageW,
        PageH : pageH,
        WinW : winW,
        WinH : winH
    };

};


//滚动条位置
function GetPageScroll() {
    var x,
    y;
    if (window.pageYOffset) { // all except IE
        y =
            window.pageYOffset;
        x = window.pageXOffset;
    } else
        if (document.documentElement && document.documentElement.scrollTop)
            { // IE 6 Strict
            y = document.documentElement.scrollTop;
            x
                 = document.documentElement.scrollLeft;
        } else if (document.body) { // all
            other IE
            y = document.body.scrollTop;
            x =
                document.body.scrollLeft;
        }
    return {
        X : x,
        Y : y
    };
}

// 获取页面的高度、宽度
function getPageSize() {
    var xScroll, yScroll;
    if (window.innerHeight && window.scrollMaxY) {
        xScroll = window.innerWidth + window.scrollMaxX;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else {
        if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac    
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari    
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }
    }
    var windowWidth, windowHeight;
    if (self.innerHeight) { // all except Explorer    
        if (document.documentElement.clientWidth) {
            windowWidth = document.documentElement.clientWidth;
        } else {
            windowWidth = self.innerWidth;
        }
        windowHeight = self.innerHeight;
    } else {
        if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode    
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } else {
            if (document.body) { // other Explorers    
                windowWidth = document.body.clientWidth;
                windowHeight = document.body.clientHeight;
            }
        }
    }       
    // for small pages with total height less then height of the viewport    
    if (yScroll < windowHeight) {
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }    
    // for small pages with total width less then width of the viewport    
    if (xScroll < windowWidth) {
        pageWidth = xScroll;
    } else {
        pageWidth = windowWidth;
    }
    arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);
    return arrayPageSize;
}
 

----------jquery------------------------------
获取滚动条距顶部的距离
document.body.scrollTop;
$(document).scrollTop();

获取浏览器显示区域的高度 : 
$(window).height(); 
获取浏览器显示区域的宽度 :$(window).width(); 
获取页面的文档高度 
:$(document).height(); 
获取页面的文档宽度 :$(document).width();

获取滚动条到顶部的垂直高度 
:$(document).scrollTop(); 
获取滚动条到左边的垂直宽度 :$(document).scrollLeft(); 


计算元素位置和偏移量 
offset方法是一个很有用的方法,它返回包装集中第一个元素的偏移信息。
默认情况下是相对body的偏移信息。结果包含 top和left两个属性。

offset(options, results) 
options.relativeTo 指定相对计算偏移位置的祖先元素。这个元素应该是relative或absolute定位。省略则相对body。 
options.scroll   是否把滚动条计算在内,默认TRUE 
options.padding  是否把padding计算在内,默认false 
options.margin     是否把margin计算在内,默认true 
options.border   是否把边框计算在内,默认true

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 
 

 

posted @ 2014-11-26 22:05  至道中和  阅读(211)  评论(0)    收藏  举报