js 各种位置获取全解(包括元素属性、鼠标位置、滚动位置)

简介: js 各种位置获取全解(包括元素属性、鼠标位置、滚动位置)

目录


元素位置属性



如果不了解盒子模型建议先阅读一下:css 盒子模型详解

image.png

获取元素四周与浏览器屏幕视窗位置方法



要想获得与屏幕的关系,一般是在有滚动的情况下可以用于计算,用到的是元素的getBoundingClientRect方法。

该方法返回的对象上存在如下属性:

image.png

浏览器屏幕可视宽高


小知识:document.documentElement就可以看作html标签元素也就是主根元素、document.body就是body标签元素也就是文档元素。

image.png

鼠标位置


image.png

    document.getElementById('box').onmousemove = (e) => {
        console.log(e.x,e.y)
    }

鼠标在某元素上的位置



image.png

    const box = document.getElementById('box')
    box.onmousemove = (e) => {
        console.log(
            e.x - box.getBoundingClientRect().x,
            e.y - box.getBoundingClientRect().y
        )
    }

滚动位置



小知识:如果不是自己设定的div滚动窗口,就用浏览器的滚动窗口,有很多种监听事件。window.onscroll、document.onscroll、document.body.onscroll、document.documentElement.onscroll这些都是一个效果,但是兼容性不一。最好统一就使用window.onscroll,它的兼容性最好,基本支持所有浏览器。如果是自己设定的div滚动框也可以,同样没有兼容问题。

image.png

相关文章
|
9天前
|
存储 前端开发 JavaScript
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
本文介绍了JavaScript变量的声明和使用、标识符的命名规则、如何获取和操作HTML元素,以及JavaScript的鼠标事件处理,通过示例代码展示了这些基础知识点在实际开发中的应用。
23 2
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
|
6天前
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
13 2
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-枚举对象中的属性
关于JavaScript基础知识中如何枚举对象属性的介绍。
27 1
JavaScript基础知识-枚举对象中的属性
|
17天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
2月前
|
JavaScript 数据可视化
JS如何优雅的实现模块自动滚动展示
【8月更文挑战第22天】JS如何优雅的实现模块自动滚动展示
20 1
JS如何优雅的实现模块自动滚动展示
|
25天前
|
JavaScript 前端开发
js怎么定位不同的页面元素
在JavaScript中,有多种方法定位和选择页面元素。
|
1月前
|
前端开发 JavaScript
前端ES5 | js —添加元素方法
前端ES5 | js —添加元素方法
|
6天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
6天前
|
JavaScript 前端开发
JavaScript从二维数组抽取若干元素组成新二维数组
JavaScript从二维数组抽取若干元素组成新二维数组
|
28天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
11 1