首页 > Web开发 > 详细

js基础十五-- BOM基本操作、获取窗口属性、获取dom尺寸、脚本化CSS

时间:2021-05-07 00:21:11      阅读:30      评论:0      收藏:0      [点我收藏+]

 一、BOM基本操作

1、查看滚动条的滚动距离

 window.pageXOffset/pageYOffset // IE8和IE8以下不兼容
 document.body/documentElement.scrollLeft/scrollTop // 兼容性比较混乱,用时取两个值相加,因为不可能同时存在两个同时有值

封装兼容性方法,求滚动条滚动距离getScrollOffset()

var getScrollOffset = function() {
    if (window.pageXOffset) {
        return {
            x: window.pageXOffset,
            y: window.pageYOffset
        }
    } else {
        return {
            x: document.body.scrollLeft + document.documentElement.scrollLeft,
            y: document.body.scrollTop + document.documentElement.scrollTop
        }
    }
}

控制台测试滚动条距离显示结果:

技术分享图片

2、查看视口尺寸

window.innerWidth/innerHeight IE8及IE8以下不兼容
document.documentElement.clientWidth/clientHeight 标准模式下任意浏览器都兼容

封装兼容性方法,返回浏览器视口尺寸 getViewOffset()

var getViewOffset = function() {
    if (window.innerWidth) {
        return {
            w: window.innerWidth,
            h: window.innerHeight
        }
    } else {
        if (document.compatMode === "CSS1Compat") { // 标准模式下
            return {
                w: document.documentElement.clientWidth,
                h: document.documentElement.clientHeight,
            }
        } else { // 怪异模式下(头部不加<!DOCTYPE html>)
            return {
                w: document.body.clientWidth,
                h: document.body.clientHeight
            }
        }
    }
}

控制台测试视口宽度显示结果:

技术分享图片

注意:document身上有一个属性compatMode可以查看当前文档是何种模式(标准或怪异)

技术分享图片

技术分享图片

上面返回结果是标准模式,下面的返回结果是怪异模式

3、查看元素尺寸

查看元素几何尺寸

domEle.getBoundingClientRect(); // domEle(任意DOM元素) 兼容性很好【了解】
// 该方法返回一个对像,对象里面有left、top、right、bottom等属性。left和top代表该元素左上角的X和Y坐标,right和bottom代表该元素右下角的X和Y坐标

来看一个例子

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>文档标题</title>
        <style type="text/css">
            div {
                width: 100px;
                height: 200px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div></div>
        <script type="text/javascript">
            var div = document.getElementsByTagName("div")[0];
        </script>
    </body>
</html>

控制台调用该方法查看该元素的几何尺寸结果:

技术分享图片

查看元素尺寸(视觉尺寸)

 dom.offsetWidth();
 dom.offsetHeight();

 

js基础十五-- BOM基本操作、获取窗口属性、获取dom尺寸、脚本化CSS

原文:https://www.cnblogs.com/kkw-15919880007/p/14736295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!