• offset、client、scroll三大家族


    元素偏移量 offset 系列
    元素可视区 client 系列
    元素滚动 scroll 系列

    一、offset 概述

    offset 翻译过来就是偏移量, 我们使用 offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等。

    1. 获得元素距离带有定位父元素的位置

    2. 获得元素自身的大小(宽度高度)

    3. 注意:返回的数值都不带单位

    offset 与 style 区别

    案例:获取鼠标在盒子内的坐标

    案例分析:
    1). 我们在盒子内点击,想要得到鼠标距离盒子左右的距离。
    2). 首先得到鼠标在页面中的坐标(e.pageX, e.pageY)
    3). 其次得到盒子在页面中的距离 ( box.offsetLeft, box.offsetTop)
    4). 用鼠标距离页面的坐标减去盒子在页面中的距离,得到 鼠标在盒子内的坐标
    5). 如果想要移动一下鼠标,就要获取最新的坐标,使用鼠标移动
    代码实现:

     <style>
            .box {
                 300px;
                height: 300px;
                background-color: pink;
                margin: 200px;
            }
        </style>
    <body>
        <div class="box"></div>
        <script>
            var box = document.querySelector('.box');
            box.addEventListener('mousemove', function(e) {
                var x = e.pageX - this.offsetLeft;
                var y = e.pageY - this.offsetTop;
                this.innerHTML = 'x坐标是' + x + ' y坐标是' + y;
            })
        </script>
    </body>
    

    二、client 概述

    client 翻译过来就是客户端,我们使用 client 系列的相关属性来获取元素可视区的相关信息。
    通过 client 系列的相关属性可以动态的得到该元素的边框大小、元素大小等。

    三、scroll 概述

    scroll 翻译过来就是滚动的,我们使用 scroll 系列的相关属性可以动态的得到该元素的大小、滚动距离等。

    三大系列获取的元素大小区别

    主要用法

    offset系列 经常用于获得元素位置 offsetLeft offsetTop
    client 经常用于获取元素大小 clientWidth clientHeight
    scroll 经常用于获取滚动距离 scrollTop scrollLeft
    注意页面滚动的距离通过 window.pageXOffset 获得

  • 相关阅读:
    解决IE9下JQuery的ajax失效的问题
    npm更新到最新版本的方法
    animate.css配合wow.min.js实现各种页面滚动效果
    Bootstrap导航点击菜单跳转与点击缩放菜单折叠按钮缓冲效果插件jquery.singlePageNav.min.js
    对json对象进行截取并按照某关键字进行排序
    巧用 position:absolute
    EasyUI Datagrid 分页
    Cssreset
    杂记
    for循环遍历json(附习题及答案)
  • 原文地址:https://www.cnblogs.com/qingheshiguang/p/16250309.html
Copyright © 2020-2023  润新知