【JS案例】获取鼠标在盒子内的坐标

基础知识

元素偏移量 offset

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

1. 可以获得本元素距离带有定位的父级或祖先元素的位置

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

3. 返回的元素都不带数值,如果需要输出或得到该数值,需要加上单位

offset系列常用的属性

属性名称 作用
属性名.offsetParent 返回带定位的父元素,如果直到body都没有带定位的,就返回body
属性名.offsetTop 返回元素相对于带定位的 父级元素顶部 的偏移
属性名.offsetLeft 返回元素相对于带定位的 父级元素 左 边框  的偏移
属性名.offsetWidth 返回自身宽度,包括padding、border、content。不带单位
属性名.offsetHeight 返回自身高度,包括padding、border、content。不带单位

表格结合图片一起食用更好消化哦

e.pageX和e.pageY

鼠标在页面中的坐标,值不会随着滚动条而变动.

具体思路

 1. 我们在盒子内点击,想要得到鼠标距离盒子左右的距离。

2. 首先得到鼠标在页面中的坐标(e.pageX, e.pageY)

3. 其次得到盒子在页面中的距离 ( box.offsetLeft, box.offsetTop)

4. 用鼠标距离页面的坐标减去盒子在页面中的距离,得到 鼠标在盒子内的坐标

5. 如果想要移动一下鼠标,就要获取最新的坐标,使用鼠标移动事件 mousemove

实际执行代码段

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;
})

文章来源地址https://uudwc.com/A/JWgb

原文地址:https://blog.csdn.net/m0_46681882/article/details/125879037

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月16日 15:36
数字安全免疫力:“关基”企业构建安全体系的通关攻略
下一篇 2023年06月16日 15:36