`

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

 
阅读更多
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();
 
 
分享到:
评论

相关推荐

    js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码

    获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下。IE中,浏览器显示窗口大小只能以下获取: 代码如下复制代码 代码如下:document.body.offsetWidth document.body.offsetHeight在声明了...

    基于jQuery实现滚动刷新效果

    实际情况使用Ajax获取后台数据更新前端页面即可实现页面滚动刷新效果 HTML正文: &lt;form id="form1" runat="server"&gt; &lt;/form&gt; Javascript操作代码: $(document).ready(function() { $(window)....

    JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合

    因为浏览器的兼容问题,如果使用javascript获取这些数值是一个相当痛苦的过程。好在JQuery提供了简单优雅,并且兼容的解决... 获取滚动条的位置 代码如下: //获取滚动条到顶部的垂直高度 $(document).scrollTop(); //获

    超实用的jQuery代码段

    5.4 带滚动条的自动完成 5.5 Combobox风格的自动完成 5.6 读取XML数据的自动完成 5.7 多维数据的自动完成 第6章 jQuery实现拖放功能 6.1 基本拖放功能 6.2 基于事件的拖放 6.3 限制移动范围的拖放 6.4 延迟进行的...

    监听滚轮事件

    // 当页面滚动条变化时,执行的函数: var scrollTop=$(this).scrollTop(); //滚动条距离顶部的高度 console.log(scrollTop) if(scrollTop &gt; 100 ){ $('.div_last').show(200) // console.log(1) }else { $...

    简单几步实现返回顶部效果

    今天与大家分享下网页中经常出现的返回顶部效果 相比原生Javascript,jquery实现起来能够省略不少代码。 接下来就直接贴代码啦... //获取滚动条距离顶部高度 if(wTop&gt;=wHeight) //当滚动条距离顶部高度超过一屏时执行

    Scroller:用于DataTables的虚拟滚动插件

    滚动条Scroller是DataTables的虚拟呈现插件,它允许快速在屏幕上绘制大型数据集。 虚拟渲染的意思是只绘制了表格的可见部分(以及向两侧的一点以使滚动平滑),而滚动容器给人的印象是整个表格都是可见的。 这是通过...

    multi-E.g:各类项目的实例

    jquery的lightbox 具体参数参见纯js的简单查看大图,样式修改自行制作滚动加载基于页面高度,滚动条高度,文档高度随滚动动态插入数据点击按钮弹窗,全屏显示,是animatedmodal.js,具体参数详见字数限制对div增加...

    Highcharts-Gantt-8.1.2.zip

    除了通过滚动条或导航器控制放大和平移功能,你还可以通过鼠标和手指来进行这两个操作。 ajax方便加载外部数据 Highstock 的数据是 JavaScript 数组或对象,这些数据可以是本地的配置对象,独立的数据文件(JSON、...

    Highcharts-Stock-8.1.2.zip

    除了通过滚动条或导航器控制放大和平移功能,你还可以通过鼠标和手指来进行这两个操作。 ajax方便加载外部数据 Highstock 的数据是 JavaScript 数组或对象,这些数据可以是本地的配置对象,独立的数据文件(JSON、...

    大名鼎鼎SWFUpload- Flash+JS 上传

    在FireFox中,如果窗口的滚动条没有回滚到顶部,那么Flash无法加载 Race-conditions when files are cached 兼容ASP.Net Forms SWFUpload v2 延续了SWFUpload的设计目标,将UI分离以交给开发人员控制和后续扩展 ...

    JS学习笔记相关代码-测试代码

    评论区的滚动:设置定量高度,在文字被排满的情下,自动加入滚动条 &lt;div class="test"&gt;&lt;/div&gt; &lt;input type="text" id="test"/&gt;&lt;input type='button' value='提交' [removed] function fun(){ var str =...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。 -将所有的...

    ExtAspNet_v2.3.2_dll

    -这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。 -将所有的...

    文章管理系统

    5.[纠正]选择服务器文件页面没有滚动条的BUG 2014年03月07日 V2.82更新包 1.[新增]会员投稿管理也加入复制功能 2.[改进]改进后台文章管理 缩略图示意图,图片图标代表本地缩略图,电脑图标代表远程缩略图 3.[纠正]...

    JAVA上百实例源码以及开源项目源代码

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

    JAVA上百实例源码以及开源项目

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

Global site tag (gtag.js) - Google Analytics