js 和 jquery 获取页面和滚动条的高度 视口高度文档高度

时间:2022-06-22 06:32:27
  • 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();