取窗口滾動條滾動高度html
function getScrollTop() { var scrollTop=0; if(document.documentElement&&document.documentElement.scrollTop) { scrollTop=document.documentElement.scrollTop; } else if(document.body) { scrollTop=document.body.scrollTop; } return scrollTop; }
取窗口可視範圍的高度chrome
function getClientHeight() { var clientHeight=0; if(document.body.clientHeight&&document.documentElement.clientHeight) { var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight; } else { var clientHeight = (document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight; } return clientHeight; }
取文檔內容實際高度瀏覽器
function getScrollHeight() { return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight); } ////////////////////////////////////////////////////
在IE中:
document.body.clientWidth ==> BODY對象寬度
document.body.clientHeight ==> BODY對象高度
document.documentElement.clientWidth ==> 可見區域寬度
document.documentElement.clientHeight ==> 可見區域高度
document.documentElement.scrollTop =>窗口滾動條滾動高度
在FireFox中:
document.body.clientWidth ==> BODY對象寬度
document.body.clientHeight ==> BODY對象高度
document.documentElement.clientWidth ==> 可見區域寬度
document.documentElement.clientHeight ==> 可見區域高度
document.documentElement.scrollTop =>窗口滾動條滾動高度less
在chrome中:
document.body.clientWidth ==> BODY對象寬度
document.body.clientHeight ==> BODY對象高度
document.documentElement.clientWidth ==> 可見區域寬度
document.documentElement.clientHeight ==> 可見區域高度
document.body.scrollTop =>窗口滾動條滾動高度code
在Opera中:
document.body.clientWidth ==> 可見區域寬度
document.body.clientHeight ==> 可見區域高度
document.documentElement.clientWidth ==> 頁面對象寬度(即BODY對象寬度加上Margin寬)
document.documentElement.clientHeight ==> 頁面對象高度(即BODY對象高度加上Margin高htm
滾動到頂部 window.scrollTo(0,0)
滾動到尾部 window.scrollTo(0,document.body.clientHeight)對象
js計算滾動條高度及窗口高度
//頁面位置及窗口大小
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;blog
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};get
};
//滾動條位置
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();