zoukankan      html  css  js  c++  java
  • javascript 获取滚动条高度+常用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 ==> 可见区域高度
    在FireFox中:
    document.body.clientWidth ==> BODY对象宽度
    document.body.clientHeight ==> BODY对象高度
    document.documentElement.clientWidth ==> 可见区域宽度
    document.documentElement.clientHeight ==> 可见区域高度
    ?
    在 Opera中:
    document.body.clientWidth ==> 可见区域宽度
    document.body.clientHeight ==> 可见区域高度
    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
    document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
    而如果没有定义W3C的标准,则
    IE为:
    document.documentElement.clientWidth ==> 0
    document.documentElement.clientHeight ==> 0
    FireFox为:
    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
    Opera为:
    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
    真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标 准要方便许多啊。

    //////////////////////////////////////////////////////////////////////////////////////

    网页可见区域宽:
    document.body.clientWidth

    网页可见区域高:
    document.body.clientHeight

    网页可见区域宽:
    document.body.offsetWidth(包 括边线的宽)

    网页可见区域高:
    document.body.offsetHeight(包括边线的宽)

    网页 正文全文宽:
    document.body.scrollWidth

    网页正文全文高:
    document.body.scrollHeight

    网 页被卷去的高:
    document.body.scrollTop

    网页被卷去的左:
    document.body.scrollLeft

    网 页正文部分上:
    window.screenTop

    网页正文部分左:
    window.screenLeft

    屏 幕分辨率的高:
    window.screen.height

    屏幕分辨率的宽:
    window.screen.width

    屏 幕可用工作区高度:
    window.screen.availHeight

    屏幕可用工作区宽度:
    window.screen.availWidth

  • 相关阅读:
    DeFi之道丨科普:一分钟了解以太坊layer2扩容
    4.B-Air302(NB-IOT)-功能扩展-Android扫码绑定Air302,并通过MQTT实现远程控制和监控PLC(三菱Fx1s-10MR)
    Air302(NB-IOT)-硬件BUG-电路硬件错误及其修改说明
    4.2-Air302(NB-IOT)-自建MQTT服务器-Android扫码绑定Air302,并通过MQTT实现远程通信控制
    Android 开发:数据库操作-android 使用 litepal 操作本地数据库
    0.5-Air302(NB-IOT)-连接自建MQTT服务器
    0.1-Air302(NB-IOT)-刷AT指令固件
    STM32+ESP8266+AIR202基本控制篇-00-开发板回收说明
    21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组(ESP8266/Air202/Air302)使用http或者https远程升级单片机程序
    数据处理思想和程序架构: 单片机STM32F407xx/F405xx/F415xx/417xx系列flash存储方案
  • 原文地址:https://www.cnblogs.com/itecho/p/2113847.html
Copyright © 2011-2022 走看看