前端常见DOM元素坐标,事件对象中的坐标信息等

前端常见DOM元素坐标和事件对象中的坐标信息 本文介绍了前端常见的DOM元素坐标和事件对象中的相关信息。本文将详细介绍前端常见的DOM元素坐标和事件对象中的坐标信息,并提供相应的源代码作为示例。可以使用事件对象的clientX和clientY属性,结合元素的getBoundingClientRect()方法,计算鼠标相对于元素的坐标。有时候我们需要获取元素相对于文档的坐标,可以通过递归地获取元素的offsetLeft和offsetTop属性,直到找到文档的根元素为止。事件对象的offsetX和offsetY属性可以获取鼠标相对于触发事件的元素的坐标。 阅读详情

1.获取窗口位置及其大小

内容作用
window.screenTop窗口顶部到屏幕顶部的距离
window.screenLeft窗口左部到屏幕左部的距离
window.innerWidth窗口中可视区域的宽度
window.innerHeight窗口中可视区域的高度
window.outerWidth浏览器窗口本身的宽度(可视区域+浏览器边框)
window.outerHeight浏览器窗口本身的高度

如下图所示:
在这里插入图片描述

注意: chrome在最大化时浏览器窗口没有边框宽度,非最大化时有8px边框 FF和IE上下左右有8px的边框宽度

2.获取屏幕的宽高

内容作用
screen.width屏幕的宽
screen.height屏幕的高
screen.availWidth屏幕可用宽度 减去任务栏
screen.availHeight屏幕可用高度 减去任务栏

3.元素对象的信息(重点)

下面看一下元素对象中的位置信息。。

内容作用
clientWidth在页面上返回内容的可视宽度(不包括边框,边距或滚动条)
clientHeight在页面上返回内容的可视高度(不包括边框,边距或滚动条)
offsetWidth返回元素的宽度包括边框和填充,但不包括边距
offsetHeight返回元素的高度包括边框和填充,但不包括边距
offsetLeft相对于父元素的距离
offsetTop获取对象相对于版面或由 offsetTop属性指定的父坐标的计算顶端位置
scrollWidth在没有滚动条的情况下,元素内容的总宽度
scrollHeight在没有滚动条的情况下,元素内容的总高度
scrollTop被隐藏在内容区域上方的像素数。通过设置这个属性可以改变元素滚动的位置
scrollLeft被隐藏在内容区域左侧的像素数。通过设置这个属性可以改变元素滚动的位置

下来我们看图解:

1.客户区大小: clientWidth与clientHeight(不包括边框)

在这里插入图片描述

2.偏移量:offsetWidth、offsetHeight、offsetLeft、offsetTop

​ 在这里插入图片描述

3.滚动大小:scrollWidth、scrollHeight、scrollTop、scrollLeft

有些元素(例如元素),即是没有执行任何代码也会自动添加滚动条;但是另外一些元素,则需要通过CSS的overflew属性进行设置才能使用。

scrollWidth、scrollHeight主要用于确定元素内容的实际大小。例如,通常认为元素实在Web浏览器的视口中滚动的元素。因此,带有垂直滚动条的页面总高度就是

document.documentElement.scrollHeight

其次呢,scrollTop与scrollLeft的功能是实时监测被隐藏在内容区域的像素数。通过设置这个属性可以改变元素滚动的位置。

var scrollTop = document.documentElement.scrollWidth || document.body.scrollWidth;
var scrollLeft = document.documentElement.scrollWidth || document.body.scrollWidth;

在这里插入图片描述

4.event对象中的坐标信息

内容详情
event.pageX相对整个页面的坐标,以页面的左上角为坐标原点到鼠标所在点的水平距离(IE8不支持)
event.pageY相对整个页面的坐标,以页面的左上角为坐标原点到鼠标所在点的垂直距离(IE8不支持)
event.clientX相对可视区域的坐标,以浏览器可视区域左上角为坐标原点到鼠标所在点的水平距离
event.clientY相对可视区域的坐标,以浏览器可视区域左上角为坐标原点到鼠标所在点的垂直距离
event.screenX相对电脑屏幕的坐标,以屏幕左上角为坐标原点到鼠标所在点的水平距离
event.screenY相对电脑屏幕的坐标,以屏幕左上角为坐标原点到鼠标所在点的垂直距离
event.offsetX相对于自身的坐标,以自身的padding左上角为坐标原点到鼠标所在点的水平距离
event.offsetY相对于自身的坐标,以自身的padding左上角为坐标原点到鼠标所在点的水平距离

看图:
在这里插入图片描述

虚拟零售智能客服架构设计:如何用大模型实现多轮对话与精准推荐? 想象一下,当你在一个电商平台购物时,遇到了一个能像你的专属导购一样,不仅能听懂你模糊的需求(“我想买一件适合夏天去海边玩,又能兼顾日常通勤的裙子”),还能记得你之前提到的尺码偏好和预算,甚至在你犹豫时,主动推荐几款符合你风格且正好有促销活动的商品——这不再是科幻电影中的场景,而是基于大语言模型(LLM)技术的新一代虚拟零售智能客服能够提供的体验。这一层是我们架构设计的重点,会在后续章节详细展开。如基于CRF、RNN的模型,或基于规则的状态更新,通常需要大量标注的对话状态数据,且对新领域、新槽位的适应性差。 阅读详情

相关推荐

国密套件ECC-SM2-SM4-CBC-SM3和ECDHE-SM2-WITH-SM4-SM3

双方交换各自的公钥,最后A计算点(x1,y1) = d1Q2,B计算点(x2,y2) = d2Q1,由于椭圆曲线上是可以满足乘法交换和结合律,所以 d1Q2 = d1d2G = d2d1G = d2Q1 ,因此双方的 x 坐标是一样的,所以它是共享密钥,也就是会话密钥。4、客户端和服务端分别使用工作密钥,计算主密钥,客户端随机数,服务端随机数,字符串常量"key expansion",经PRF计算生成工作密钥。工作密钥包括加密密钥和校验密钥,具体密钥长度由选择的密码算法决定。客户端支持的压缩算法列表。

Java学习笔记 3784

获取dom的坐标、距离

获取元素宽高(包含小数点) $('.dom')[0].getBoundingClientRect().width $('.dom')[0].getBoundingClientRect().height

星辰的笔记 1798

Android14 RK3576开发板有线网卡静态IP配置全攻略(附数据库修改详解)

本文详细介绍了在Android 14 RK3576开发板上实现有线网卡出厂默认静态IP配置的完整方案。通过深入修改系统源码和SettingsProvider数据库,扩展全局设置字段并注入默认值,确保设备首次启动即自动应用预设的IP地址、子网掩码、网关和DNS,适用于工业控制、数字标牌等批量部署场景,有效提升生产效率。

weixin_29253711的博客 608

DOM——盒子模型

老师讲的课题,如有雷同可能是同学

Meat_doll的博客 284

从格雷码到多频外差:结构光相位展开实战指南(附Python仿真代码)

本文深入探讨了结构光三维测量中的相位展开技术,重点对比了格雷码和多频外差法在工业检测、逆向工程等领域的应用。通过详细的原理图解和Python仿真代码,展示了两种方法在精度、抗噪性和适用场景上的差异,为实际工程中的技术选型提供实用指南。

weixin_42535703的博客 434

GOM Correlate拉伸试验后处理操作

本文描述了使用GOM Software 2022对拉伸试样进行后处理的操作,包括设置检测点、引伸计、输出应变数据到表格、输出报告为视频等

qq_45008924的博客 4665

HTML中常见的各种位置距离以及dom中的坐标讨论

最近在学习JavaScript,特意买了一本犀牛角书来看看,尼玛一千多页,看的我头昏脑涨,翻到DOM这章节,突然记起平常在使用DOM时,碰到了好多的这个dom里面的各种宽度,高度,特意在此写一写,写的不好或者写错了,欢迎各位指正。好了废话不多说,开始进入主题。 这篇文章主要讨论两点: 一、DOM中各种宽度、高度 二、DOM中的坐标系 下面我们看看DOM中都有一些什么宽度、高度。 常见的 ...

weixin_30245867的博客 1023

Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆级超详细含图文) 附安装包网盘下载

Hadoop+Spark+Flink+Zookeeper+Kafka+Hbase+Hive完全分布式高可用集群搭建 Hadoop高可用集群搭建 Spark高可用集群搭建 Flink高可用集群搭建 Zookeeper高可用集群搭建 Kafka高可用集群搭建 Hbase高可用集群搭建 Hive高可用集群搭建 mysql搭建 jdk部署 大数据集群环境搭建

Mr.L-OAM的博客 2万+

原生js获取 一个dom元素距离页面可视区域的位置值

这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。 var box=document.getElementById(‘box’); // 获取元素 alert(box.getBoundingClientRect().top); // 元素上边距离页面上边的距离 alert(box.getBoundingClientRect().right); // 元素右边距离页面左边的距离 alert(box.getBoundingClientRe

wys997的博客 2894

无实习经验?IT应届生简历封神思路:把校园经历写成offer收割机

摘要: IT应届生无实习经历如何打造竞争力简历?本文揭秘“无实习简历封神指南”,通过四大步骤将校园经历转化为HR认可的硬核技能: 素材挖掘:课程设计、个人项目、社团活动、竞赛证书都是隐藏的“实战经验”,用STAR法则细化成果。 技能转化:匹配岗位JD关键词,用“动词+量化结果”包装经历(如“优化查询效率30%”)。 避坑指南:避免流水账、夸大技能或堆砌无关经历,聚焦技术能力与岗位需求。 核心逻辑:HR看重潜力而非经验,用校园经历证明学习能力、问题解决能力和技术落地能力。 无实习≠无竞争力,学会“翻译”经历,

通俗易懂学IT 424

华为OD机试真题 2026-9-2【查找幸运数】

华为OD机试真题 新系统【查找幸运数】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【查找幸运数】多语言题解。

qq_45776114的博客 500

【前端】前端三要素之DOM

写在前面:本文仅包含DOM相关知识,如果想要看JavaScript基础请点这里,前端三要素之BOM稍后会上传。 文章目录DOMDOM 专有名词DOM树DOM 获取元素DOM | 事件点击按钮事件示例执行事件过程鼠标到Div上跳出弹框示例操作元素修改元素内容示例 | 鼠标移动进去显示中文,离开显示英文区别 | innerText 与 innerHTML 的区别通过innetText 和 innerHTML 获取文字内容innerTextinnerHTML修改元素属性表单属性操作修改表单文字示例 | 输入密

Jim.kk的笔记 1103

万字详解YOLOv8网络结构Backbone/neck/head以及Conv、Bottleneck、C2f、SPPF、Detect等模块

YOLOv8是由Ultralytics开发的最先进的目标检测模型,推升了速度、准确性和用户友好性的界限。YOLO这一缩写代表“你只看一次”(You Only Look Once),通过在一次网络传递中同时预测所有边界框,提升了算法的效率和实时处理能力。相比之下,其他一些目标检测技术需要经过多个阶段或过程来完成检测。YOLOv8在流行的YOLOv5架构上进行了扩展,在多个方面提供了改进。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 14万+

DOM获取坐标的属性有哪些?

综上所述,前端开发中可以通过多种属性来获取DOM元素的坐标信息,具体选择哪种属性取决于实际需求和场景。例如,如果需要获取元素相对于整个文档的准确坐标,可以结合使用getBoundingClientRect()方法和页面滚动条的偏移量;如果需要处理鼠标事件并确定鼠标指针的位置,可以使用事件对象中的相关坐标属性。

王铁柱666的博客 310

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

前端:JS/28/CSS DOM动态样式(style对象,style 对象属性与CSS属性的转换),Event DOM,事件对象简介(DOM和IE中的Event对象),实例:点出满天小星星

CSS DOM动态样式 使用JS操作CSS中的各属性; JS只能操作或修改行内样式,如:imgObjstyle.border = “1px solid red”; 对于类样式,通过className 来赋值,如:imgObjclassName =“imgClass”; style 对象 每个HTML标记,都有一个style属性;但这个style属性又是一个style对象;是CSS行内样式; 这个style对象的属性与CSS中的属性一一对应,完全相同; 例:imgObj.style.border =“1px

Java_53的博客 910

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

js中的事件DOM

【代码】js中的事件。

m0_63502124的博客 135

Javascript中的DOM实现显示鼠标的空间位置

为了显示鼠标相对于浏览器的位置(相对于屏幕和页面类似),我们能够利用click事件,获得关于鼠标单击的事件对象event。这个事件对象里的clientX和clientY包括了鼠标的位置信息,所以我突发奇想。那我可不能够通过DOM中的createElement创建一个标签元素用于在相应的鼠标位置显示当前的鼠标相对于浏览器的坐标呢? 这里我先利用Element中的createEle...

aoe41606的博客 180

前端常用的一些长宽坐标等参数整理

页面元素坐标和偏移(clientX/pageX/screenX/layerX/offsetWidth/scrollWidth/clientWidth等)相关整理 2014-11-25 17:28 by 大额_skylar, 3869 阅读, 5 评论, 收藏, 编辑      鼠标事件都是在特定位置发生的,我们可以通过event事件对象的各种属性来获得事件发生的坐标位置,有相对于视口的,有相对...

廿四桥明月夜的博客 765

【JS-4.3-鼠标常用事件】深入理解DOM鼠标事件:全面指南与最佳实践

本文全面介绍Web开发中的鼠标事件体系,涵盖从基础到高级的交互模式。首先概述鼠标事件特点,包括精确坐标追踪、按钮状态检测等功能。然后详细解析基础事件类型(click、dblclick等)和移动相关事件(mousemove、mousedown等),配以代码示例说明应用场景。文章深入讲解鼠标事件对象的关键属性,如坐标定位、按钮状态和修饰键检测。在高级交互部分,展示了拖放实现、悬停优化和鼠标轨迹记录等实用技术。最后给出性能优化建议,包括事件委托和高频事件节流等最佳实践,帮助开发者创建更流畅的用户体验。全文通过理论

weixin_39033358的博客 727

失去焦点时点击其他元素怎么让焦点事件先执行、_前端开发-JavaScript中的事件(Event)及事件处理总结...

JavaScript是基于事件驱动的编程模型,当网页页面发生某种形式的交互操作或者变化时就会产生事件。举个简单的例子:用户在网页页面点击鼠标按键就会产生一个点击事件。鼠标移动则会产生鼠标移动的事件。因此事件对于JavaScript客户端脚本语言至关重要,在JavaScript编程模型中事件是实现一切前端交互操作的基础与依据。事件的学习、理解与使用成为JavaScript编程学习的重点与难点。本文主...

weixin_39611389的博客 309

JavaScript DOM操作之事件

前端: 通过代码的方式和页面中的某些内容做好一个约定用户: 触发指定行为的时候, 就会执行代码。

2301_78123544的博客 132

在前端开发中javascript的运行环境是_前端开发-JavaScript中的事件(Event)及事件处理总结...

JavaScript是基于事件驱动的编程模型,当网页页面发生某种形式的交互操作或者变化时就会产生事件。举个简单的例子:用户在网页页面点击鼠标按键就会产生一个点击事件。鼠标移动则会产生鼠标移动的事件。因此事件对于JavaScript客户端脚本语言至关重要,在JavaScript编程模型中事件是实现一切前端交互操作的基础与依据。事件的学习、理解与使用成为JavaScript编程学习的重点与难点。本文主...

weixin_31782323的博客 378

【千峰前端】day07 JavaScript 事件_千锋前端JavaScript全套教程_JS零基础完美入门到项目实战

视频地址:【千锋前端JavaScript全套教程_JS零基础完美入门到项目实战】 https://www.bilibili.com/video/BV1W54y1J7Ed/?

qq_37581764的博客 450

【前端笔记】一、DOM和BOM

DOM(Document Object Model),即文档对象模型 常用节点操作 创建节点:document.createElement 添加节点:element.appendChild 删除节点:element.removeChild 查找节点:document.getElementById、document.getElementsByClassName、document.querySelector、document.querySelectorAll 举例: <!--html页面-->

小王同学的博客 233

getBoundingClientRect、offset、page、client、screen相关API及释义合集

dom.getBoundingClientRect().top距离可视区顶部 dom.getBoundingClientRect().right距离可视区顶部 dom.getBoundingClientRect().bottom距离可视区顶部 dom.getBoundingClientRect().left距离可视区顶部 dom.getBoundingClientRect().width宽度(返回小数)= dom.offsetWidth(返回整数) dom.getBoundingClientRect()等.

SunFlower914的博客 1025
上一篇: HTML5手势、拖放、定位事件
下一篇: 数据结构(js实现)-Hash表(哈希表)
小牲口online
博客等级 码龄8年 116粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值