zoukankan      html  css  js  c++  java
  • 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;

    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();

    http://loushi135.iteye.com/blog/1453462

     ///获取浏览器窗口

    function findDimensions() //函数:获取尺寸

    {
    //获取窗口宽度
    if (window.innerWidth)
    winWidth = window.innerWidth;
    else if ((document.body) && (document.body.clientWidth))
    winWidth = document.body.clientWidth;
    //获取窗口高度
    if (window.innerHeight)
    winHeight = window.innerHeight;
    else if ((document.body) && (document.body.clientHeight))
    winHeight = document.body.clientHeight;
    //通过深入Document内部对body进行检测,获取窗口大小
    if (document.documentElement  && document.documentElement.clientHeight && document.documentElement.clientWidth)
    {
    winHeight = document.documentElement.clientHeight;
    winWidth = document.documentElement.clientWidth;
    }
  • 相关阅读:
    Moment.js 超棒Javascript日期处理类库
    java模拟http/https post请求
    Mysql中int和varchar类型
    ssh免密码登录
    Linux优雅退出问题
    Jenkins的权限控制和Rundeck的远程认证
    Jenkins系统+独立部署系统
    Nginx基本介绍
    初窥项目构建
    Rundeck概况
  • 原文地址:https://www.cnblogs.com/qqyuhaitao/p/3318593.html
Copyright © 2011-2022 走看看