js 和 jquery 获取页面和滚动条的高度

标签: js jquery 页面 | 发表时间:2014-10-27 18:48 | 作者:zzc1684
出处:http://www.iteye.com
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();
 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [js jquery 页面] 推荐:

js 和 jquery 获取页面和滚动条的高度

- - Web前端 - ITeye博客
js 和 jquery 获取页面和滚动条的高度 //页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight && window.scrollMaxY) {. return {PageW:pageW, PageH:pageH, WinW:winW, WinH:winH}; }; //滚动条位置 function GetPageScroll() { var x, y; if(window.pageYOffset) {.

js/jQuery插件开发及规范

- - JavaScript - Web前端 - ITeye博客
当我们画出了UI之后就可以正式编写jQuery插件代码了,不过在着之前我们还需要对jQuery插件开发的一些规范性有一些了解.  这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好处呢. c) 兼容jQuery操作符'$'和'jQuery'. 我们知道这段代码在被解析时会形同如下代码:.

50个jQuery代码段帮你成为更出色的JS开发者

- - 博客 - 伯乐在线
本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助. 其中的一些代码段是从jQuery1.4.2才开始支持的做法,另一些则是真正有用的函数或方法,他们能够帮助你又快又好地把事情完成. 这些都是我尽量记住的有着最佳性能的代码段,因此如果你发现你任何可以做得更好的地方的话,欢迎把你的版本粘贴在评论中.

10个用来处理键盘事件的JQuery插件和JS类库

- - JavaScript - Web前端 - ITeye博客
通常在web应用或者网站中,我们使用鼠标来控制元素或者执行导航,相对于桌面应用来说,使用web应用的快捷键次数可能会相对比较少,但是对于熟 练的专业人员来说,使用键盘可能更加容易并且更加快速,在今天这篇文章中,我们收集了10个jQuery的插件,帮助你创建各种基于键盘事件的web应 用,相信大家会喜欢的.

用JS将页面定位到某个位置(DIV)

- - JavaScript - Web前端 - ITeye博客
昨天一个朋友问我如何在页面加载完成后,自动将页面定位到某个位置,当时有些忙,就没来得及解决. 殊不知今天在做PHP教程的项目中也有了同样的需求:为了页面美观,需要只显示用户从楼盘相册点击后进入的相册幻灯页面的楼盘信息(也就是自动定位到了楼盘的相关信息,忽略了顶部banner). 使用Javascript自动将页面滚动到指定位置.

页面构建和js前端不得不说的那点事儿

- - 微博UDC
作为微博的页面构建工程师,主要职责就是利用html&css,高质量的完成静态页面的制作,保证项目的按时完成. 而页面需要的js效果则交给下游的js前端工程师去做. 但在大家的思维定势里可能觉得这两个岗位应由一个人来完成最好,毕竟,页面构建工程师写的html结构不一定是js工程师想要的那种,js工程师可能有更高效的方式.

javascript 获取滚动条高度+常用js页面宽度与高度

- - Web前端 - ITeye博客
javascript 获取滚动条高度+常用js页面宽度与高度 / ******************** * 取窗口滚动条高度 ****************** / function getScrollTop() {. return scrollTop; } / ******************** * 取窗口可视范围的高度 ******************* / function getClientHeight() {.

9 个单页面网站开发必备的 jQuery 插件

- - ITeye资讯频道
单页面网站作为简单快捷、易于维护的页面设计方案,越来越受到工作室、作品集或者个人博客类网站用户的青睐,我们可以使用不同的特效来使得页面更加的丰富和炫动. 今天我们将介绍几款可以作为单页面开发的jQuery插件,帮助大家快速简便的实现一个单页面的网站设计,希望大家喜欢. 使用这个插件,可以帮助你快速搭建一个滚动的页面导航,如果你需要比较简单直接的方式开发一个单页面的网站,这个插件是一个不错的选择.

js记录页面的点击位置并在页面刷新后滚动到该位置

- - JavaScript - Web前端 - ITeye博客
页面上的结果集列表有多条记录,选中某一行进行操作时,页面可能已经滚动过一段距离,当点击提交时希望能记录滚动过的长度,并在页面提交刷新后自动滚动到该位置. 使用jquery来操作dom,方便易用. 1、获取当前滚动过的距离;. 以struts2+velocity为例. 前台在点击某条记录修改时获取当前滚动的距离x、y,将x、y传给后台,后台处理完成后继续跳转页面(在本需求中即为当前页面),将x、y作为参数传给目的页面.

jQuery参考实例 1.2 在DOM加载完毕,页面元素完全加载之前运行jQuery/JavaScript代码

- - CSDN博客推荐文章
本文翻译自jQuery Cookbook (O’Reilly 2009) 1.2 Executing jQuery/JavaScript Code After the DOM Has Loaded but Before Complete Page Load. 主流的JavaScript应用程序一般只在DOM完全加载后才运行JS代码.