当前位置: 首页 > 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…...

3个实战技巧:彻底解锁Cursor Pro功能的高效完整指南

3个实战技巧&#xff1a;彻底解锁Cursor Pro功能的高效完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial…...

Cursor Pro功能优化工具:提升AI编程体验的开源解决方案

Cursor Pro功能优化工具&#xff1a;提升AI编程体验的开源解决方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tr…...

TCC-G15散热控制实战指南:释放Dell游戏本性能潜力

TCC-G15散热控制实战指南&#xff1a;释放Dell游戏本性能潜力 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 一、问题发现&#xff1a;游戏本散热困境的技术根…...

从FEE到FLS:深入Autosar存储栈底层,搞懂Flash模拟EEPROM的完整流程

从FEE到FLS&#xff1a;深入Autosar存储栈底层&#xff0c;搞懂Flash模拟EEPROM的完整流程 在汽车电子领域&#xff0c;非易失性存储管理一直是嵌入式系统设计的核心挑战之一。当工程师需要在片内Flash上实现类似EEPROM的细粒度数据更新功能时&#xff0c;Autosar存储协议栈提…...

港大新作GS-SDF开源了!手把手教你用激光雷达+3DGS复现IROS2025论文效果(附避坑指南)

港大GS-SDF开源项目实战&#xff1a;从环境配置到效果复现全指南 当激光雷达遇上3D高斯溅射&#xff0c;会碰撞出怎样的火花&#xff1f;港大MARS实验室最新开源的GS-SDF项目给出了令人惊艳的答案。这个将LiDAR点云与神经符号距离场&#xff08;SDF&#xff09;相结合的创新方…...

面向 LLM 的程序设计 4:API 版本化与演进——在「模型会记忆旧文档」前提下的兼容策略

用三句话先说明白 人会照旧说明书办事&#xff0c;模型也一样。 它见过的文档、缓存里的接口描述、网页上没刷新的说明、向量库里还没更新的片段&#xff0c;都可能比真实系统更旧。于是系统已经升级了&#xff0c;它还在用老地址、老字段名、老例子去调用。 给人改流程&#…...

ddsad

sdsfdjsufhfsuh...

OpenClaw技能市场盘点:Qwen3-4B模型支持的十大实用自动化模块

OpenClaw技能市场盘点&#xff1a;Qwen3-4B模型支持的十大实用自动化模块 1. 为什么需要关注OpenClaw技能市场&#xff1f; 去年冬天&#xff0c;当我第一次在个人笔记本上部署OpenClaw时&#xff0c;最让我惊喜的不是框架本身的基础能力&#xff0c;而是它背后那个充满可能性…...

ns-3.43环境搭建避坑实录:从依赖冲突到‘first.cc’成功运行的完整排错指南

ns-3.43环境搭建避坑实录&#xff1a;从依赖冲突到first.cc成功运行的完整排错指南 当你在Ubuntu 24.04上第一次尝试搭建ns-3.43网络模拟环境时&#xff0c;可能会遇到各种意想不到的问题。这篇文章不是又一份按部就班的安装指南&#xff0c;而是一份真实的问题解决手册&#x…...

Could NOT find OpenSSL (missing: OPENSSL_LIBRARIES)

手动安装cmake&#xff0c;执行./bootstrap后出现标题所示错误提示&#xff0c;因为这一步出错&#xff0c;所以后面的步骤都无法继续进行 一开始以为是服务器上没有装openssl&#xff0c;使用openssl version命令发现有对应的版本&#xff0c;但是路径下没有include等文件夹 …...