zoukankan      html  css  js  c++  java
  • js获取网页的宽高

    一:网页可见区域宽高,不包括工具栏和滚动条(浏览器窗口可视区域大小)

    1.对于IE9+、chrome、firefox、Opera、Safari:

    window.innerHeight浏览器窗口的内部高度;

    window.innerWidth浏览器窗口的内部宽度;

    2.对于IE8.7.6.5:

    document.documentElement.clientHeight:表示HTML文档所在窗口的当前高度;

    document.documentElement.clientWidth:表示HTML文档所在窗口的当前宽度;

    或者,因为document对象的body属性对应HTML文档的<body>标签,所以也可表示为:

    document.body.clientHeight:表示HTML文档所在窗口的当前高度;

    document.body.clientWidth:表示HTML文档所在窗口的当前宽度;

    结论:

    document.body.clientWidth/Height:的宽高偏小,高甚至默认200;

    document.documentElement.clientWidth/Height 和 window.innerWidth/Height 的宽高始终相等。

    所以在不同浏览器都实用的的Javascripit方案:

    1
    2
    var w = document.documentElement.clientWidth || document.body.clientWidth;
    var h = document.documentElement.clientHeight || document.body.clientHeight;

    二:网页正文全文宽高

    scrollWidth和scrollHeight获取网页内容高度和宽度

    1.针对IE.Opera:scrollHeight是网页内容实际高度,可以小于clientHeight;

    2.针对NS.firefox:scrollHeight是网页内容高度,不过最小值是clientHeight;也就是说网页内容实际高度小于clientHeight的时候,scrollHeight返回clientHeight;

    3.浏览器兼容代码:

    1
    2
    var w = document.documentElement.scrollWidth || document.body.scrollWidth;
    var h = document.documentElement.scrollHeight || document.body.scrollHeight;

    二:网页可见区域宽高,包括滚动条等边线(会随窗口的显示大小改变)

    1.值:   offsetWidth = scrollWidth + 左右滚动条 +左右边框;

        offsetHeight = scrollHeight + 上下滚动条 + 上下边框;

    2.浏览器兼容代码:

    1
    2
    var w = document.documentElement.offsetWidth || document.body.offsetWidth ;
    var h = document.documentElement.offsetHeight || document.body.offsetHeight ;

    三:网页卷去的距离与偏移量

    1.scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离;

    2.scrollTop:设置或获取位于给定对象最顶端与窗口中目前可见内容的最左端之间的距离;

    3.offsetLeft:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置;

    4.offsetTop:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置;

    转载https://www.jb51.net/article/106472.htm

  • 相关阅读:
    HTML5画图板PhoneGap移植
    简易WCF负载均衡方案
    坑爹的“类型初始值设定项引发异常”
    关于for循环中变量定义的位置
    有道云笔记open api sdk for .net α版
    SL/WPF仿WIN8进度条
    HTML5做个画图板
    Google搜索命令“site:”运算符高级使用技巧:
    ubuntu系统托盘不显示ibus输入法图标(语言栏输入法)的解决方法:
    DOS中如何删除文件夹~
  • 原文地址:https://www.cnblogs.com/aknife/p/12942867.html
Copyright © 2011-2022 走看看