zoukankan      html  css  js  c++  java
  • 原生js--兼容获取窗口滚动条位置和窗口大小的方法

    各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题

    /**
     * 获取浏览器视口的大小(显示文档的部分)
     *
     */
    function getViewPortSize(){
        // 除IE8及更早的版本以外的浏览器
        if( window.innerWidth != null ){
            return {
                w : window.innerWidth,
                h : window.innerHeight
            }
        }
        // 标准模式下的IE
        if( document.compatMode == "css1Compat" ){
            return {
                w : document.documentElement.clientWidth,
                h : document.documentElement.clientHeight
            }
        }
        // 怪异模式下的浏览器
        return {
            w : document.body.clientWidth,
            h : document.body.clientHeight
        }
    }

    /**
     *  获取窗口滚动条的位置
     */
    function getScrollOffset(){
        // 除IE8及更早版本
        if( window.pageXOffset != null ){
            return {
                x : window.pageXOffset,
                y : window.pageYOffset
            }
        }
        // 标准模式下的IE
        if( document.compatMode == "css1Compat" ){
            return {
                x : document.documentElement.scrollLeft,
                y : document.documentElement.scrollTop
            }
        }
        // 怪异模式下的浏览器
        return {
            x : document.body.scrollLeft,
            y : document.body.scrollTop
        }
    }

  • 相关阅读:
    创建一个简单的图片服务器
    spring-boot系列:初试spring-boot
    java的动态代理机制
    jedis连接池详解(Redis)
    使用logback.xml配置来实现日志文件输出
    redis在mac上的安装
    理解RESTful架构
    分布式应用框架Akka快速入门
    [Java基础]Java通配符
    Mac vim iterm2配色方案
  • 原文地址:https://www.cnblogs.com/charling/p/3545342.html
Copyright © 2011-2022 走看看