当前位置: 首页 > 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,因为页面还存在被卷起来的部分的宽度和高度。

相关文章:

【JavaScript】尺寸和位置

DOM对象相关的尺寸和位置属性 用于获取和修改元素在页面中的尺寸和位置。 只读属性: clientWidth和clientHeight:获取元素可视区域的宽度和高度(padding content),不包括边框和滚动条。 offsetWidth和offsetHeight…...

Express框架下搭建GraphQL API

需要先下载apollo-server-express,apollo-server-express是Express框架下,用于构建GraphQL服务的中间件,属于Apollo Server的一部分: npm install apollo-server-express 随后在index.js添加 apollo-server-express包&#xff1…...

发布订阅模式

一、常见的发布订阅模式 1、Dom的事件 Event addEventListener dispatchEvent //订阅中心 const event new Event(zyk); //订阅 document.addEventListener(zyk, (value)>{console.log(我收到了:, value) }); //发布 document.dispatchEvent(e, 1); docume…...

【Java 演示灵活导出数据】

演示灵活导出数据 🎉🎉🎉🎉🎉🎉【小吴小吴bug全无开通公众号】关注公众号获取第一时间博客动态 背景今天临时起兴打开稀土掘金导航栏看到页面推广gitee项目恰巧最近也在学习python了解到python爬虫很厉害&…...

一对一WebRTC视频通话系列(六)——部署到公网

本系列博客主要记录一对一WebRTC视频通话实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感…...

【数据结构】线性表----链表详解

数据结构—-链表详解 目录 文章目录 链表的定义链表的构成链表的分类双向和单向带头和不带头循环和不循环 链表的命名基本操作的实现初始化打印取值查找插入指定位置插入删除删除销毁 部分其他链表的代码实现循环链表双向链表 优点/缺点&#xff08;对比顺序表&#xff09;优点…...

【小程序】小程序如何适配手机屏幕

小程序如何适配手机屏幕 1. 使用rpx单位2. 百分比布局3. 弹性盒子&#xff08;Flexbox&#xff09;和网格布局4. 媒体查询5. 响应式布局6. 测试和调试 1. 使用rpx单位 rpx&#xff08;responsive pixel&#xff09;是小程序中的一种长度单位&#xff0c;可以根据屏幕宽度进行自…...

第15节 编写shellcode加载器

我最近在做一个关于shellcode入门和开发的专题课&#x1f469;&#x1f3fb;‍&#x1f4bb;&#xff0c;主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料&#xff0c;内容里面的每一个环境我都亲自测试实操过的记录&#xff0c;有需要的小伙伴可以参考…...

JAVA学习-练习试用Java实现爬楼梯

问题: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 示例 1&#xff1a; 输入&#xff1a; 2 输出&#xff1a; 2 解释&#xff1a; 有两种方法可以爬到楼…...

[SWPUCTF 2021 新生赛]PseudoProtocols、[SWPUCTF 2022 新生赛]ez_ez_php

[SWPUCTF 2021 新生赛]PseudoProtocols 打开环境&#xff0c;提示hint.php就在这里&#xff0c;且含有参数wllm 尝试利用PHP伪协议读取该文件 ?wllmphp://filter/convert.base64-encode/resourcehint.php//文件路径php://filter 读取源代码并进行base64编码输出。 有一些敏…...

Hive-拉链表的设计与实现

Hive-拉链表的设计与实现 在Hive中&#xff0c;拉链表专门用于解决在数据仓库中数据发生变化如何实现数据存储的问题。 1.数据同步问题 Hive在实际工作中主要用于构建离线数据仓库&#xff0c;定期的从各种数据源中同步采集数据到Hive中&#xff0c;经过分层转换提供数据应用…...

AI应用案例:会议纪要自动生成

以腾讯会议转录生成的会议记录为研究对象&#xff0c;借助大模型强大的语义理解和文本生成等能力&#xff0c;利用指令和文本向量搜索实现摘要总结、要点提取、行动项目提取、会议纪要生成等过程&#xff0c;完成会议纪要的自动总结和生成&#xff0c;降低人工记录和整理时间成…...

基于光纤技术的新能源汽车电池安全监测--FOM²系统

为什么要进行动力电池包的温度监测&#xff1f; 新能源电动汽车的动力电池包的工作温度&#xff0c;不仅会影响电池包性能&#xff0c;而且直接关系到车辆安全。时有发生的新能源汽车电池包起火事件&#xff0c;对电池包、冷却系统以及电池管理系统&#xff08;BMS&#xff09…...

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二)

基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; #Options local_llm llama3 llm ChatOllama(modellocal_llm, format"json", temperature0) #embeddings #embeddings OllamaEmbeddings(model"nomic-embed-text") embed…...

Spring MVC(三) 参数传递

1 Controller到View的参数传递 在Spring MVC中&#xff0c;把值从Controller传递到View共有5中操作方法&#xff0c;分别是。 使用HttpServletRequest或HttpSession。使用ModelAndView。使用Map集合使用Model使用ModelMap 使用HttpServletRequest或HttpSession传值 使用HttpSe…...

常见加解密算法02 - RC4算法分析

RC4是一种广泛使用的流密码&#xff0c;它以其简洁和速度而闻名。区别于块密码&#xff0c;流密码特点在于按位或按字节来进行加密。 RC4由Ron Rivest在1987年设计&#xff0c;尽管它的命名看起来是第四版&#xff0c;实际上它是第一个对外发布的版本。 RC4算法的实施过程简洁…...

如何使用 ERNIE 千帆大模型基于 Flask 搭建智能英语能力评测对话网页机器人(详细教程)

ERNIE 千帆大模型 ERNIE-3.5是一款基于深度学习技术构建的高效语言模型&#xff0c;其强大的综合能力使其在中文应用方面表现出色。相较于其他模型&#xff0c;如微软的ChatGPT&#xff0c;ERNIE-3.5不仅综合能力更强&#xff0c;而且在训练与推理效率上也更高。这使得ERNIE-3…...

Java全局异常处理,@ControllerAdvice异常拦截原理解析【简单易懂】

https://www.bilibili.com/video/BV1sS411c7Mo 文章目录 一、全局异常处理器的类型1-1、实现方式一1-2、实现方式二 二、全局异常拦截点2-1、入口2-2、全局异常拦截器是如何注入到 DispatcherServlet 的 三、ControllerAdvice 如何解析、执行3-1、解析3-2、执行 四、其它4-1、设…...

代码随想录35期Day38-Java(Day37休息)

Day38题目 LeetCode509.斐波那契数列 核心思想:很简单dp[i]dp[i-1]dp[i-2].这里用了数组存储的形式,也可以递归 class Solution {public int fib(int n) {int[] dp new int[n2];dp[0] 0;dp[1] 1;for(int i 2 ; i < n ; i ){dp[i] dp[i-1] dp[i-2];}return dp[n];} …...

力扣HOT100 - 739. 每日温度

解题思路&#xff1a; 单调栈 class Solution {public int[] dailyTemperatures(int[] temperatures) {int length temperatures.length;int[] ans new int[length];Deque<Integer> stack new LinkedList<>();for (int i 0; i < length; i) {int temperatu…...

终极指南:如何用WeChatLuckyMoney轻松实现微信红包自动抢

终极指南&#xff1a;如何用WeChatLuckyMoney轻松实现微信红包自动抢 【免费下载链接】WeChatLuckyMoney :money_with_wings: WeChats lucky money helper (微信抢红包插件) by Zhongyi Tong. An Android app that helps you snatch red packets in WeChat groups. 项目地址…...

实用购机指南:屏幕出色、流畅耐用续航拉满的手机

一、前言2026 年上半年&#xff0c;智能手机市场迎来新一轮旗舰迭代&#xff0c;用户购机核心需求已从单一参数比拼&#xff0c;转向流畅不卡顿、性能强劲、屏幕护眼优质、续航持久耐用的全能体验&#xff0c;同时兼顾影像创作与美学设计。为帮消费者精准筛选高适配机型&#x…...

Gitea库完整从Ubuntu迁移到CentOS中

文章目录 一、概述 二、数据迁移 2.1 获取数据存储路径 2.2 搞事之前先备份(目标服务器CentOS) 2.2.1 停止gitea服务 2.2.2 备份gitea文件夹 2.3 从Ubuntu的数据目录中将数据拷贝到CentOS中 2.4 备份mysql数据库并拷贝到目标服务器(CentOS) 2.4.1 通过mysqldump备份数据库 …...

别再乱升级了!在CentOS 7上优雅共存Python 2和3.10.1的完整实践

在CentOS 7上实现Python 2与3.10.1和谐共存的终极指南 当老旧系统遇上现代开发需求&#xff0c;Python版本冲突成为许多开发者的噩梦。CentOS 7默认搭载的Python 2.7与当下项目所需的Python 3.10特性之间&#xff0c;似乎总有一场不可避免的战争。但真相是——它们完全可以和平…...

12个优质播客音乐素材网站,解决你缺BGM的烦恼

根据《2026年中国音频内容创作行业发展白皮书》数据显示&#xff0c;国内活跃播客创作者数量同比增长47%&#xff0c;超过62%的创作者表示&#xff0c;找到合适又合规的播客背景音乐是日常创作的核心痛点之一。很多新人创作者要么找不到风格匹配的素材&#xff0c;要么担心版权…...

AssetStudio v0.16.5深度解析:Unity资源解包原理与工程化实践

1. 为什么你还在手动解包Unity游戏资源&#xff1f;AssetStudio不是“点开即用”的万能钥匙AssetStudio这个名字&#xff0c;听上去像某个高端建模插件&#xff0c;或者Unity官方出的资源管理器——其实它既不是Unity原生工具&#xff0c;也不带任何图形化向导。它是个开源、无…...

免费图片去水印工具在线网站有哪些?2026年图片水印去除APP和软件推荐

在日常工作和生活中&#xff0c;我们经常会遇到需要去除图片水印的情况。无论是为了社交媒体分享、内容创作还是素材整理&#xff0c;找到一款高效的免费去水印工具都能节省不少时间。本文将为你详细介绍2026年最实用的免费图片去水印工具&#xff0c;包括在线网站、手机APP和电…...

CANN 算子调优:榨干昇腾硬件性能

一、算子性能分析基础 1.1 算子执行模型 昇腾上每个算子的执行都会经历&#xff1a;编译时优化 → 运行时调度 → 硬件执行。任何一个环节出问题都会导致性能下降。 ┌────────────────────────────────────────┐ │ 算子执…...

GBase 8a之listagg/string_agg 函数的反函数实现

GBase8a数据库中 listagg/string_agg 函数的反函数实现一、业务场景背景 在日常数据开发中&#xff0c;我们经常会遇到这种场景&#xff1a;某张表的字段里存储了用逗号&#xff08;或其他分隔符&#xff09;拼接的多个值&#xff0c;比如商品分类、标签、关联系统名称等&#…...

LangGraph Reducer 深度应用:为什么你的 State 合并总是出问题?

这篇文章帮你搞定 LangGraph Reducer 的高级用法&#xff0c;从源码解析到生产级模式&#xff0c;从并发安全到测试策略 阅读提示 适合谁看&#xff1a;已读过 State 设计模式基础&#xff0c;想深入 Reducer 机制的工程师看完能做什么&#xff1a;能实现生产级 Reducer&#x…...