- 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};
- }
- jquery
- 獲取瀏覽器顯示區域的高度 :
- $(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
- http://www.cnblogs.com/hoojo/archive/2012/02/16/2354663.html
- 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
- // 獲取頁面的高度、寬度
- 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;
- }
- // 滾動條
- document.body.scrollTop;
- $(document).scrollTop();