javascript 代码技巧 (四) —— javascript获取坐标/滚动/宽高/距离

简介: 笔记

1. 坐标(鼠标/触摸)

event.screenX                          鼠标/触摸,相对于显示屏的X坐标
event.screenY                          鼠标/触摸,相对于显示屏的Y坐标
event.clientX                          鼠标/触摸,相对于浏览器视口的X坐标
event.clientY                          鼠标/触摸,相对于浏览器视口的Y坐标
event.pageX                            鼠标/触摸,相对于文档的X坐标(ie不支持)
event.pageY                            鼠标/触摸,相对于文档的Y坐标(ie不支持)
event.offsetX                          鼠标/触摸,相对于触发事件的X坐标(ie独有)
event.offsetY                          鼠标/触摸,相对于触发事件的Y坐标(ie独有)

2. 滚动(窗口/页面)

window.pageXOffset                     X轴滚动条,能向右滚动的距离(只读属性/IE需要9以上/PC和移动端都支持)
window.pageYOffset                     Y轴滚动条,能向下滚动的距离(只读属性/IE需要9以上/PC和移动端都支持)
document.body.scrollLeft               X轴滚动条,能向右滚动的距离(仅移动端支持)
document.body.scrollTop                Y轴滚动条,能向下滚动的距离(仅移动端支持)
document.documentElement.scrollTop     X轴滚动条,能向右滚动的距离(仅PC端支持)
document.documentElement.scrollLeft    Y轴滚动条,能向下滚动的距离(仅PC端支持)
document.scrollingElement.scrollTop    X轴滚动条,能向右滚动的距离(ie不支持)
document.scrollingElement.scrollLeft   Y轴滚动条,能向下滚动的距离(ie不支持)

2.png

3. 宽高(屏幕/游览器视口/页面)

screen.width                           屏幕宽度
screen.height                          屏幕高度
screen.availWidth                      屏幕可用宽度
screen.availWidth                      屏幕可用高度
window.outerWidth                      游览器宽度
window.outerHeight                     游览器高度
window.innerWidth                      游览器视口宽度
window.innerHeight                     游览器视口高度
document.body.offsetWidth              页面宽度
document.body.offsetHeight             页面高度
document.body.clientWidth              页面可显示宽度
document.body.clientHeight             页面可显示高度

4. 宽高&位置(DOM)

getBoundingClientRect()                返回元素的宽高与坐标集合
                                           > 宽高 = 可视内容区 + 内边距 + 边框
                                           > 坐标
                                                 left = 位移 + 外边距
                                                 right = 位移 + 完整盒子模型所占宽度
                                                 top = 同left
                                                 bottom = 同right
getClientRects()                       返回元素的数个矩形区域的类数组对象(集合)
                                           > 用于块级元素,则集合[n]和getBoundingClientRect返回相同
                                           > 用于内联元素,内联元素有多少行,该方法返回的对象有多少个成员
                                           > 该方法,用于判断行内元素是否换行,以及行内元素的每一行的位置偏移
document.getClientRects(x, y)          返回当前文档上处于指定坐标位置最顶层的元素的最里层元素
                                           > 最顶层,指z-index最大的元素
                                           > 最里层,是指最里层面的子元素
                                           > 该方法,用来检测元素是否发生重叠或是碰撞
目录
相关文章
|
2月前
|
JavaScript
短小精悍的js代码
【10月更文挑战第17天】
129 58
|
2月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
270 2
|
2月前
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
45 0
|
17天前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
51 15
在 golang 中执行 javascript 代码的方案详解
|
3月前
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
1月前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
46 3
原生js炫酷随机抽奖中奖效果代码
|
1月前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
88 10
|
21天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
449 4