码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • getBoundingClientRect、offset、page、client、screen相关API及释义合集


    1.getBoundingClientRect()获取元素位置

    获取指定dom元素到浏览器可视窗口的距离,不包括被卷曲的部分,下方展示实验数据:

    dom.getBoundingClientRect().top距离可视区顶部
    dom.getBoundingClientRect().right距离可视区右侧
    dom.getBoundingClientRect().bottom距离可视区底部
    dom.getBoundingClientRect().left距离可视区左侧
    dom.getBoundingClientRect().width宽度(返回小数) = dom.offsetWidth(返回整数)
    dom.getBoundingClientRect().height高度(返回小数) = dom.offsetHeight(返回整数)


     

     2.offset

    在为父元素设置了定位的情况下:

    dom.offsetLeft:dom左边缘到父元素左边缘的距离

    dom.offsetTop:dom顶部到父元素顶部的距离

     3.offsetX/Y    pageX/Y   screenX/Y  clientX/Y

    侦听鼠标移动事件,将鼠标放在红色方框的左上角可发现:

    e.pageX::鼠标指针相对于整个文档的 x坐标(包括被页面卷曲的部分)
    e.pageY:鼠标指针相对于整个文档的 y坐标
    e.offsetX:鼠标指针相对于触发事件(鼠标所在元素内)对象的x坐标
    e.offsetY:鼠标指针相对于触发事件(鼠标所在元素内)对象的y坐标

    另补充:

    e.screenX:鼠标指针相对于电脑屏幕的x坐标

    e.screenY:鼠标指针相对于电脑屏幕的y坐标

    e.clientX:鼠标指针相对于body页面可视区的x坐标

    e.clientY:鼠标指针相对于body页面可视区的y坐标

    下图为引用的释义(图片来源:pageX、clientX等的区别_朽木白露的博客-CSDN博客_pagex)

    这里写图片描述

    对比:

    clientWidth = width+padding

    clientHeight = height + padding

    offsetWidth = width + padding + border(返回整数)

    offsetHeight = height + padding + border(返回整数)

    getBoundingClientRect().width = width + padding + border(返回小数)
    getBoundingClientRect().height = height + padding + border(返回小数)

  • 相关阅读:
    【Halcon图像拟合圆】
    DDD必读经典文章
    动态SQL
    MyBatisPlus之逻辑删除、MyBatisPlus解决并发问题的乐观锁机制
    Python爬虫之Js逆向案例(8)-某乎x-zst-81之webpack
    【仁川出差】记2022.10仁川出差
    .NET开源功能强大的串口调试工具
    【C++】function包装器和bind包装器
    nodejs 时钟案例(fs模块),重复使用fs.writeFile方法,旧内容会被覆盖
    PHP写用户注册、登录和密码重置功能
  • 原文地址:https://blog.csdn.net/SunFlower914/article/details/126544344
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号