当前位置: 首页 > news >正文

【JavaScript】尺寸和位置

DOM对象相关的尺寸和位置属性

用于获取和修改元素在页面中的尺寸和位置。

只读属性:

  1. clientWidth和clientHeight:获取元素可视区域的宽度和高度(padding + content),不包括边框和滚动条。

  2. offsetWidth和offsetHeight获取元素的完整尺寸,包括可视区域、内边距和边框(padding + content + border)。

  3. clientTop和clientLeft:获取元素上边框和左边框的宽度(border)。

  4. offsetLeft和offsetTop:获取元素相对于其有定位(position)的父元素的左偏移和上偏移(top、left)。

  5. scrollHeight和scrollWidth:获取元素的滚动内容的高度和宽度,包括溢出部分。

可读可写属性:

  1. scrollTop和scrollLeft:获取或设置元素的垂直和水平滚动条位置(滚动元素被卷起的宽度和高度)。可以获取当前滚动的位置,也可以通过修改其值来实现滚动位置的变化。

  2. domObj.style.xxx属性:获取或设置元素的样式属性,例如domObj.style.width、domObj.style.color等。可以通过修改这些属性的值来改变元素的外观。

event 对象相关位置和尺寸属性

事件触发的时候自动传递到事件处理函数里。

  1. clientX 和 clientY:事件发生时,鼠标指针相对于浏览器窗口视口(viewport)的水平和垂直坐标。clientX 是相对于浏览器窗口左上角的水平坐标,clientY 是相对于浏览器窗口左上角的垂直坐标。

  2. screenX 和 screenY:事件发生时,鼠标指针相对于用户的显示屏幕的水平和垂直坐标。screenX 是相对于显示屏幕左上角的水平坐标,screenY 是相对于显示屏幕左上角的垂直坐标。这些坐标不随页面滚动而改变。

  3. offsetX 和 offsetY:事件发生时,鼠标指针相对于事件目标元素(即该DOM元素)的水平和垂直坐标。X 是相对于事件目标元素内边界左上角的水平坐标,offsetY 是相对于事件目标元素内边界左上角的垂直坐标。

  4. pageX 和 pageY:事件发生时,鼠标指针相对于整个文档页面的水平和垂直坐标。pageX 是相对于文档页面左上角的水平坐标,pageY 是相对于文档页面左上角的垂直坐标。这些坐标会受到页面滚动的影响。当页面没有滚动条时,和clientX 和 clientY等价。但是当浏览器出现滚动条的时候,pageX通常会大于clientX,因为页面还存在被卷起来的部分的宽度和高度。

http://www.lryc.cn/news/348751.html

相关文章:

  • Express框架下搭建GraphQL API
  • 发布订阅模式
  • 【Java 演示灵活导出数据】
  • 一对一WebRTC视频通话系列(六)——部署到公网
  • 【数据结构】线性表----链表详解
  • 【小程序】小程序如何适配手机屏幕
  • 第15节 编写shellcode加载器
  • JAVA学习-练习试用Java实现爬楼梯
  • [SWPUCTF 2021 新生赛]PseudoProtocols、[SWPUCTF 2022 新生赛]ez_ez_php
  • Hive-拉链表的设计与实现
  • AI应用案例:会议纪要自动生成
  • 基于光纤技术的新能源汽车电池安全监测--FOM²系统
  • 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二)
  • Spring MVC(三) 参数传递
  • 常见加解密算法02 - RC4算法分析
  • 如何使用 ERNIE 千帆大模型基于 Flask 搭建智能英语能力评测对话网页机器人(详细教程)
  • Java全局异常处理,@ControllerAdvice异常拦截原理解析【简单易懂】
  • 代码随想录35期Day38-Java(Day37休息)
  • 力扣HOT100 - 739. 每日温度
  • 【爬虫之scrapy框架——尚硅谷(学习笔记one)--基本步骤和原理+爬取当当网(基本步骤)】
  • C++ QT设计模式:责任链模式
  • 基于springboot+mybatis+vue的项目实战之(后端+前后端联调)
  • 【教程向】从零开始创建浏览器插件(六)实战篇
  • 如何用 OceanBase做业务开发——【DBA从入门到实践】第六期
  • Element-UI快速入门
  • 【JavaWeb】网上蛋糕商城后台-商品管理
  • Django Admin后台管理:高效开发与实践
  • Centos7网卡启动失败(Failed to start LSB: Bring up/down)
  • 【NOIP2008普及组复赛】 题4:立体图
  • 【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(76)