Javascript学习之路:页面位移、大小和位置属性整理

纯 JavaScript 手写拖拽系统:绕过 draggable 属性的高可控实现 拖拽交互是 Web 管理后台、看板系统和可视化编辑器的核心能力,其本质是基于鼠标或触摸事件的状态机建模——通过 mousedown/touchstart 捕获起始位置,mousemove/touchmove 实时计算偏移,mouseup/touchend 完成位置固化。相比 HTML5 原生 draggable 属性,手写方案规避了文本选中劫持、滚动失效、坐标失准等硬伤,同时天然支持 transform 定位、网格吸附、边界限制与跨端一致性。它不依赖 DragEvent 事件流和 dataTransfer 阅读详情

🤞🤞 一、window

window 滚动位移属性

  • window.scroll(X,Y) 滚动数不叠加
  • window.scrollTo(X,Y) 滚动数不叠加
  • window.scrollBy(X,Y) 滚动数叠加
  • window.scrollY / Firefox、Chrome、Opera均支持,IE不支持 忽略DOCTYPE定义规则

window窗口大小属性

  • window.innerheight 返回窗口文档显示区的高度
  • window.innerwidth 返回窗口文档显示区的宽度
  • window.outerheight 返回窗口的外部高度
  • window.outerwidth 返回窗口的外部宽度
  • window.screen.height/width 显示器的完整分辨率
  • screen.availHeight/Width 显示器去除任务栏的剩余分辨率

调整大小

  • resizeTo(newWidth,newHeight)
  • resizeBy(changeWidth,changeHeight)

window窗口定位属性

  • window.pageXOffset 设置或返回当前页面相对于窗口显示区左上角的x位置
  • window.pageYOffset 设置或返回当前页面相对于窗口显示区左上角的y位置 / IE9+、Firefox、Chrome、Opera均支持该方式获取页面,并且会忽略DOCTYPE定义规则
  • window.screenLeft 网页正文部分左||window.screenX 左上角x坐标
  • window.screenTop 网页正文部分上 ||window.screenY 左上角y坐标
  • event.screenX/Y 事件发生时,鼠标距离显示器左上角的坐标

移动window窗口位置

  • window.moveTo(newX,newY)
  • window.moveBy(changeX,changeY)

🤞🤞二、Document

HTML元素上的scrollTop属性

  • document.documentElement.scrollTop
    如果未定义DOCTYPE文档头,所有浏览器都支持docume.body.scrollTop属性获取滚动高度
    如果页面定义了DOCTYPE文档头,那么HTML元素上的scrollT属性在IE、Firefox、Opera(presto内核)下都可以获取滚动高度值,而在Chrome和Safari下其值为0**。
  • document.documentElement.scrollLeft 设置和获取页面文档向右滚动过的像素数
  • document.documentElemnt.scrollTop 设置和获取页面文档向下滚动过的像素数
  • document.documentElement.scrollWidth html元素对象的滚动宽度
  • document.documentElement.scrollHeight 即html元素对象的滚动高度

实际开发中的写法

var _scrollLeft=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft
var _scrollLeft=window.scrollY||window.pageYOffset||document.documentElement.scrollTop

元素位置属性 el

  • el.clientTop:该元素对象的上边框的宽度
    • document.ducumentElement.clientTop 获取html元素对象的上边框的宽度
  • el.clientLeft: 该元素对象的左边框的宽度
    • document.documentElement.clientLeft 获取html元素对象的左边框的宽度
  • el.clientWidth: 元素内容的宽度,不包括边框
  • el.clientHegiht: 元素内容的高度
  • el.offsetLeft: 元素左边框到窗口左边界的距离
    • document.documentElement.offsetLeft html元素的margin
  • el.offsetTop:元素上边框到窗口上边界的距离
    • document.documentElement.offsetTop html元素的margin
  • 在IE中,offsetLeft和offsetTop的值始终为0。

el.offsetWidth: 左外边框至右外边框的距离

el.offsetHeight: 上外边框至下外边框的距离

元素位置属性 body

  • document.body.clientWidth 网页可见区域宽
  • document.body.clientHeight 网页可见区域高
  • document.body.offsetWidth 网页可见区域宽(包括边线的宽)
  • document.body.offsetHeight 网页可见区域高(包括边线的高)
  • document.body.scrollWidth 网页正文全文宽
  • document.body.srollHeight 网页正文全文高
  • document.body.srollTop 网页被卷去的高
  • document.body.scrollLeft 网页被卷去的左

🤞🤞 三、Screen对象

Screen对象 显示器的高度和宽度

  • screen.availHeight 返回显示屏幕的高度(除Windows任务栏40之外)/屏幕可见工作区高度
  • screen.availWidth 返回显示屏幕的宽度(除Windows任务栏之外)/屏幕可见工作区宽度
  • screen.height 返回显示屏的高度 分辨率
  • screen.width 返回显示器屏幕的宽度 分辨率

🤞🤞 四、event对象

事件位移对象 event

  • e.clientX、e.clientY
    鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性
  • e.pageX、e.pageY
    类似于e.clientX、e.clientY,但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性,但得到了广泛支持。IE事件中没有这2个属性。
  • e.offsetX、e.offsetY
    鼠标相对于事件源元素(srcElement)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。
  • e.screenX、e.screenY
    鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性
JS逆向实战:顶像滑块验证码的自动化破解与模拟实现 在Web安全与自动化领域,JavaScript逆向工程是一项关键技术,它通过分析前端代码逻辑来理解应用的行为机制。其核心原理在于动态调试与静态分析结合,追踪数据流向与函数调用,从而还原加密算法与验证逻辑。这项技术的价值在于能够实现自动化操作、安全测试与数据采集,广泛应用于爬虫开发、安全审计与自动化测试等场景。本文聚焦于顶像滑块验证码的逆向分析,深入探讨其轨迹生成、加密算法与网络协议,并分享一套完整的自动化模拟实现方案,涵盖网络抓包、代码调试、算法还原等关键环节。 阅读详情

相关推荐

Three 之 three.js (webgl)使用BufferGeometry (GPU) 根据位置和移动向量简单实现持续生成运动的简单粒子particle运动效果

Three js 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。本节介绍, three.js (webgl) 中,使用 BufferGeometry ,添加位置和移动方向数据,结合 shader,简单实现类似 particle 的粒子运动效果,这里把之前BufferGeometry 实现简单粒子效果Three 之 three.js (webgl)使用BufferGeometry (CPU) 根据位置和移动向量简单实现持续生成运动的简单粒子particle运动效果。

仙魁XAN 1052

JavaScript第 11 篇,JavaScript中的scrollTop(JavaScript中的scrollTop,JS滚动到顶部)

⭐scrollTop是JavaScript中一个非常有用且重要的方法,它用于获取或设置元素的垂直滚动条位置,实现各种滚动相关的功能,无论是回到顶部、滚动到指定位置还是监听滚动事件,都需要用到scrollTop,在本文中,我们将深入了解scrollTop的用法和实际应用,这是一张scrollTop的关系图,仅供参考

AI Agent 全栈架构师(AI + GIS + Backend)& 数字芯片系统架构师(FPGA),NorthCity Smile的博客(NcSmile,博主域名:https://ncmile.blog.youkuaiyun.com) 2万+

告别混乱接线!用EPLAN 3D布局图,手把手教你搞定电气柜的3D建模与自动布线

本文详细介绍了如何使用EPLAN 3D布局图进行电气柜的3D建模与自动布线,帮助工程师告别混乱接线。从项目准备、基础结构建模到智能设备布局与逻辑定义,再到高级布线技术与问题排查,提供了一套完整的实战指南。通过EPLAN的3D功能,显著提升设计效率与系统可靠性。

weixin_30680385的博客 340

scrollTop是什么及用法说明

scrollTop属性是什么? 有些情况下,“元素中内容”的高度会超过“元素本身”的高度, scrollTop指的是“元素中的内容”超出“元素上边界”的那部分的高度。 通过一个实例演示来讲述scrollTop属性是什么 下面的演示中,外层元素的高度值是200px,内层元素的高度值是300px。很明显,“外层元素中的内容”高过了“外层元素”本身.当向下拖动滚动条时,有部分内容会隐没在“外层元素的上边界”之外,s...

a123789999的博客 1万+

AUTOSAR RTE配置实战:从ECU分区到Task映射的完整指南

本文提供了一份AUTOSAR RTE配置的完整实战指南。从创建ECU分区、定义OS任务,到实现Runnable Entity与Task的精确映射,详细解析了每一步的操作要点与常见陷阱。文章结合配置工具界面,旨在帮助开发者高效完成RTE配置,确保系统实时性与数据一致性,是掌握AUTOSAR核心开发流程的实用参考。

weixin_29228203的博客 485

大疆无人机图像传输延时优化全解析:从Lightbridge到OcuSync的实战技巧

本文深入解析大疆无人机图像传输延时优化,对比Lightbridge与OcuSync两大核心通信协议的技术差异与实战表现。文章详细拆解了从传感器采集到屏幕显示的完整延时链条,并提供了从环境频段选择、硬件升级到软件设置的全方位优化技巧,帮助飞手与开发者显著降低图传延时,提升操控体验与作业效率。

weixin_29163857的博客 306

scrollTop()方法

scrollTop设置滚动条用法 前提 工作中需要做一个点击右侧网元或板卡,左侧topo图滚动到对应位置 用到的知识点 scrollTop(),position(),工作环境中用了Jtopo,Ztree scrollTop定义与用法 scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。 scroll top offset 指的是滚动条相对于其顶部的偏移。 如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。 $(selector).scrollTop(offset)

muxi229的博客 3万+

风力摆控制系统 PCB 设计 3 要点:STM32+MPU6050+空心杯电机驱动一体化

本文详细解析了风力摆控制系统PCB设计的3大核心要点,重点介绍STM32主控、MPU6050姿态传感器与空心杯电机驱动的一体化方案。通过系统架构设计、PCB布局布线技巧以及噪声抑制方案,帮助参赛者在电子设计竞赛中构建高精度、高稳定性的风力摆控制系统,提升竞赛作品性能。

weixin_30363285的博客 359

【JavaScript】scrollTop和scrollHeight在滚动事件中的使用

scrollTop和scrollHeight

小秀的博客 3316

Linux系统监控实战:夜莺监控+categraf采集器配置全流程(附常见问题排查)

本文详细介绍了在Linux系统中使用夜莺监控和categraf采集器进行系统监控的全流程配置,包括环境准备、核心配置文件(如config.toml和procstat.toml)详解、服务集成与验证、高级监控配置实战以及常见问题排查。通过实战案例和优化建议,帮助运维人员快速构建高效的监控体系。

xray4的博客 736

LSTM量化选股实战:从数据清洗到回测归因的工程化闭环

LSTM(长短期记忆网络)是一种专为建模长程依赖而设计的循环神经网络,其门控机制能有效应对金融时序数据的非线性、高噪声与动态演化特性。相比传统统计模型或简单RNN,LSTM在股价趋势建模中展现出更强的鲁棒性与泛化能力,尤其适合处理日频多因子时序信号。其技术价值不仅在于提升预测精度,更在于支撑可归因、可审计的量化策略工程实践——从特征构建、标签定义到滚动回测,每一步都需严防未来信息泄露与过拟合风险。典型应用场景包括A股多因子选股、行业轮动信号生成及Alpha组合优化。本文聚焦LSTM在真实量化场景中的落地难点

weixin_33158887的博客 399

javascript滚动到顶部scrollTop用法

首先了解下列相关属性 网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth (包括边线的宽); 网页可见区域高: document.body.offsetHeight (包括边线的宽); 网页正文全文宽: document.body.scrollWidth; 网页正文全文高: document.body.scrollHeight; 网页被卷去的高:

weixin_50367873的博客 2万+

8台 × 8卡 910B NPU之顶尖大模型选型分析

本文对比了2026年主流大语言模型在昇腾910B NPU集群上的部署方案。重点评估了GLM5、MiniMax M2.5、Kimi K2.5、DeepSeek V3.2和Qwen 3.5旗舰版等候选模型,从部署需求(显存占用)、能力表现(基准测试、多模态支持)和NPU生态适配度三个维度进行分析。结果显示DeepSeek V3.2综合表现最优:支持BF16/W8A8/INT4量化,在4TB显存环境下可实现2000+ TPS,首token延迟<100ms,且具备官方NPU支持。备选方案Qwen 3.5旗舰版

FeelTouch Labs 756

js window对象属性和方法相关资料

这篇文章主要介绍了js window对象属性和方法相关资料整理,需要的朋友可以参考下 window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval moveBy moveTo resizeBy resizeTo scrollBy scrollTo find back ...

大碍桃花开 368

基于CLICKHOUSE的数据仓库分层规范

接入层。

zjyy1987的博客 769

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Javascript 基础知识整理

Javascript的作用 表单验证,减轻服务器压力 添加页面动画效果 动态更改页面内容 Ajax网络请求(异步加载数据) —它属于前端的核心,主要用来控制和重新调整DOM,通过修改DOM结构,从而达到修改页面效果的目的。Javascript组成部分 ECMAscript,DOM,BOMECMscript脚本程序语言 语法 标准:语法,变量和数据类型,运算符,逻辑控制语

爱是与世界平行 1242

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

js window对象属性和方法相关资料整理

window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval moveBy moveTo resizeBy resizeTo scrollBy scrollTo find back forward home stop print blur focus captu

qq24249的博客 314

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JS知识点整理

1、JS编编写位置 可编写到标签的onlick属性中。 可编写到标签的href属性中。 可编写到script标签中。 可将代码编写到外部的js文件中,然后通过标签将其引入。写位置

qq_51513645的博客 138

Abaqus多窗口对比分析实战:从应力云图到位移曲线的同步技巧

本文详细介绍了Abaqus多窗口对比分析实战技巧,涵盖从应力云图到位移曲线的同步显示方法。通过Python脚本配置多窗口布局、视图同步技术以及高级差异分析功能,帮助工程师提升有限元后处理效率,实现多物理量的协同可视化分析。

weixin_30399821的博客 438

【repost】js window对象属性和方法相关资料整理

window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval moveBy moveTo resizeBy resizeTo scrollBy scrollTo find back forward home stop print blur focus capture...

weixin_30861459的博客 111

javascript面试题的简单整理(第一部分)

js一些学习资料的整理 一 性能优化(减少请求次数) 图片处理 雪碧图 Base64 使用字体图标代替图片 在安卓下可以使用webp格式图片 减少资源大小

lwr3379966的博客 308

JavaScript常用数组操作方法/包含ES6(自己整理学习)

1.pop()删除并返回数组的最后一个元素 pop() 方法返回“被弹出”的值: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.pop(); // 从 fruits 删除最后一个元素("Mango") // 返回的值是 "Mango" 2.push() 方法(在数组结尾处)向数组添加一个新的元素: push() 方法返回新数组的长度: var fruits = ["Banana", "Orange", "

weixin_43844440的博客 208

关于window对象

核心竞争力,怎么才能提高呢?成年人想要改变生活,逆转状态?那就开始学习吧~万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

2401_84092508的博客 1014

关于window对象,熬夜整理最全面的HTML字符实体

资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。[外链图片转存中…(img-q33gs83I-1712300527540)][外链图片转存中…(img-I06JMXAl-1712300527540)]资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

2301_78850344的博客 972

three.js FlyControls 飞行控制器全解析:自由六自由度漫游相机的原理、参数与实战

本文围绕 three.js 官方提供的 **FlyControls**(飞行控制器)展开:它模拟 Blender 等 DCC 工具中的“飞行模式”,让相机可在三维空间中无目标约束地自由平移与旋转(完整六自由度)。读完本文,你将掌握 FlyControls 的引入方式、构造函数与全部公开属性、默认键鼠操作表、基于 `delta` 的帧率无关更新算法,以及 `change` 事件与生命周期管理的正确用

gitblog_01191的博客 373

Electron `<webview>` 标签完整指南:内嵌外部页面、属性配置与 API 事件全解析

> 本文基于 Electron 官方仓库中的 [docs/api/webview-tag.md](https://link.gitcode.com/i/1bfe0de00896cddb33028e8bd3f9b410) 完整整理并辅以源码佐证。`<webview>` 是 Electron 中用于在应用内隔离地展示外部 Web 内容的标签:它像 `<iframe>` 一样嵌入页面,却运行在独立进程与

gitblog_01042的博客 424
上一篇: html学习之路:基础学习笔记
下一篇: git代码管理学习文档
@德玛玩前端
博客等级 码龄5年 413粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值