• js获取窗口高度的方法


    取窗口滚动条滚动高度

    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;
    }

    取窗口可视范围的高度

    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 =>窗口滚动条滚动高度

    在chrome中:
    document.body.clientWidth ==> BODY对象宽度
    document.body.clientHeight ==> BODY对象高度
    document.documentElement.clientWidth ==> 可见区域宽度
    document.documentElement.clientHeight ==> 可见区域高度
    document.body.scrollTop =>窗口滚动条滚动高度

    在Opera中:
    document.body.clientWidth ==> 可见区域宽度
    document.body.clientHeight ==> 可见区域高度
    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
    document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高

    滚动到顶部 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;
        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();

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    转载自
    https://www.cnblogs.com/wangkongming/p/6195903.html

  • 相关阅读:
    ffmpeg中的sws_scale算法性能测试
    ffmpeg 新老接口问题及对照集锦
    入门视频采集与处理(显示YUV数据)
    RGB与YUV图像视频格式的相互转换
    ffmpeg视频解码简明教程
    FFmpeg源代码简单分析——sws_getContext()
    FFmpeg解码H264及swscale缩放详解
    我所理解的ThreadLocal
    网络通信Socket模块实现文件传输
    设计一个基于flask的高并发高可用的查询ip的http服务
  • 原文地址:https://www.cnblogs.com/whoamimy/p/11954418.html
Copyright © 2020-2023  润新知