前端知识点整理之offset,scroll,client,冒泡,事件对象的应用

JS12-client(可视区)相关属性 client家族的组成 clientWidth clientHeight clientX和clientY clientTop和clientLeft 三大家族offset/scroll/client的区别 区别1:宽高 区别2:上左 函数封装:获取浏览器的宽高(可视区域) 获取显示器的分辨率 阅读详情

关于offset

多用于检测盒子高度,宽度,位置等
- offsetWidth : 盒子的宽度, 包括(width, padding, border)
- offsetHeight: 盒子的高度, 包括(height, padding, border)
- offsetLeft: 返回自身距离带有定位的上级盒子左边的位置
- offsetTop: 返回自身距离带有定位的上级盒子上边的距离
- offsetParent: 返回自身带有定位的父级对象

dom.style.left 与 dom.offsetLeft 的区别

  • offsetLeft 返回的值是数字,style.left 返回的带’px’
  • offsetLeft 只读, style.top 可读写
  • offsetLeft 本身可以无定位, style.left 本身必须有定位属性

关于scroll

  • scrollTop : 盒子或页面滚动距离顶部的距离
  • scrollLeft : 盒子或页面滚动距离左侧的距离
  • scrollTo : 盒子或页面滚动到的位置,参数(x,y)
  • onscroll : 使用onscroll 事件检测window或者dom的滚动

页面scrollTop的兼容写法

var scrolltop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;

关于client

  • clientWidth: width + padding
  • clientHeight
  • scrollWidth: width + padding + (如果有溢出,包括溢出部分)
  • scrollHeight: height + padding + (如果有溢出,包括溢出部分)

检测屏幕可视区域宽度的兼容写法

function getClientWidth() {
    if(!window.innerWidth) {
        return {
            width: window.innerWidth,
            height: window.innerHeight
        }
    } else if (document.compatMode === "CSS1Compat") {
        // 标准模式下
        return {
            width: document.documentElement.clientWidth,
            height: document.documentElement.clientHeight
        }
    }
    // 怪异模式
    return {
        width:document.body.clientWidth,
        height:document.body.clientHeight
    }
}

检测电脑屏幕尺寸

  • window.screen.width
  • window.screen.height

事件的冒泡

冒泡顺序演示

  • IE 6.0 : div > body > html > document
  • 其他浏览器:div > body > html > document > window
  • 不存在冒泡的事件: blur, focus, load, unload

阻止冒泡

借助事件对象 evt

  • 标准浏览器:evt.stopPropagation();
  • IE: evt.cancelBubble = true;

通过事件对象获取事件源对象示例

btn.onclick = function(event) {
  var evt = window.event || event;
    var target = evt.target ? evt.target : evt.srcElement;
  console.log(target);
}

常用的 event 对象属性

  • pageX : 光标相对于该网页的水平位置 (非IE6,7,8属性)
  • pageY : 光标相对于该网页的垂直位置 (非IE6,7,8属性)
  • screenX : 光标相对于该屏幕的水平位置
  • screenY : 光标相对于该屏幕的垂直位置
  • clientX : 光标相对于该网页可见区域的水平位置
  • clientY : 光标相对于该网页可见区域的垂直位置
  • target : 该事件被传送到的对象
  • type : 事件的类型

event 对象兼容的写法示例

document.onclick = function(event) {
  var evt = event || window.event;
}

pageX 和 pageY的兼容性

pageX = evt.clientX + document.documentElement.scrollLeft; 
pageY = evt.clientY + document.documentElement.scrollTop;
从硬件异常到代码救赎:RH850内存访问错误(MAE)的深层诊断与艺术 本文深入探讨瑞萨RH850微控制器的内存访问错误(MAE)诊断与解决方法。针对程序跑飞和Flash Driver交互中的潜在陷阱,提供系统性硬件异常分析框架和防御性编程实践,帮助嵌入式开发者从底层机制到代码层面有效预防和修复MAE问题,提升系统稳定性。 阅读详情

相关推荐

【ShaderToy】开篇

写在前面呜呼,好久没有写博客了,好惭愧。题外话,感觉越大就越想家,希望可以一直和家人在一起,哪怕只是坐在一起不说话也觉得很温暖,一想到要分开眼睛就开始酸,哎。开学还是爬上来老实更新博客学习吧~今天爬上来一看,发现优快云的博客编辑终于更新了!进步总是好的,以前的编辑器实在很捉急。使用这种标记语言的确方便了很多,但好像颜色字体没法设置?程序员果然对美观没什么追求。ShaderToy如果你还没听过Sha

candycat 8万+

前端开发之JavaScript的offset相关属性

avaScript的offset相关属性

imbzz的博客 995

【Flink】FlinkSQL如何触发执行计算

Table (通过 StatementSet.addInsert() 输出给某个 Sink)和 INSERT 语句 (通过调用 StatementSet.addInsertSql())会先被缓存到 StatementSet 中,StatementSet.execute() 方法被调用时,所有的 sink 会被优化成一张有向无环图。该方法是用来将一个表的内容插入到目标表中,一旦该方法被调用, TABLE API 程序立即被翻译。该方法是用来执行一个 SQL 语句,一旦该方法被调用, SQL 语句立即被翻译。

一杯咖啡半杯糖的博客 1007

前端学习第二十五课(WebAPIs——offset、client、scroll)

常见 offset 系列属性的作用 常见 client 系列属性的作用 常见 scroll 系列属性的作用 能够封装简单动画函数

damadashen的博客 588

Altium Designer 超详细入门教程

本文是一份Altium Designer新手入门教程,详细介绍了从软件基础到PCB制版的全流程。主要内容包括:软件界面介绍与工程创建方法;原理图设计中的元件放置、电气连线、标注添加等操作;PCB设计的布局布线、铺铜和DRC检查;Gerber和钻孔文件的导出方法。教程还提供了分类整理的实用快捷键表和新手避坑指南,强调原理图编译和DRC检查的重要性。通过本教程,新手可以快速掌握AD基本操作,完成简单电路板的设计与制版文件导出。

学习中...... 846

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1169

JavaScript-offset家族,前端架构师必备框架技能核心笔记

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

2401_83974117的博客 1131

2025国赛数学建模A题 完整Python代码 烟幕干扰弹的投放策略

常量定义G = 9.8 # 重力加速度 m/s²V_SMOKE_SINK = 3 # 烟幕下沉速度 m/sMISSILE_SPEED = 300 # 导弹速度 m/sEFFECTIVE_RADIUS = 10 # 有效遮蔽半径 mEFFECTIVE_DURATION = 20 # 有效遮蔽时间 sTARGET_POS = np.array([0, 200, 0]) # 目标位置FALSE_TARGET_POS = np.array([0, 0, 0]) # 假目标位置# 初始位置。

YOLO 1106

前端学习记录——offset与client

offset与client

GuardianMANGO的博客 918

Android开发工程师面试问题与参考答案

这是一份Android开发工程师职位面试指南,主要针对自研OS开发岗位。岗位要求3年以上独立开发经验,熟悉Android平台UI设计、四大组件和Java基础。面试问题覆盖五大核心领域:基础知识、开发经验、技术深度、问题解决和性能优化。文章提供了典型面试问题及专业参考答案,帮助应聘者准备关键技术点,如多线程处理、HashMap与ConcurrentHashMap区别、Handler机制等。同时建议应聘者结合项目经验展示优化能力,并注意公司提供完善的薪酬福利和团队文化。

郑伟强dev的专栏 896

操作系统实验四 进程运行轨迹的跟踪与统计(哈工大李治军)

实验4 进程运行轨迹的跟踪与统计 实验目的 掌握 Linux 下的多进程编程技术; 通过对进程运行轨迹的跟踪来形象化进程的概念; 在进程运行轨迹跟踪的基础上进行相应的数据统计,从而能对进程调度算法进行实际的量化评价,更进一步加深对调度和调度算法的理解,获得能在实际操作系统上对调度算法进行实验数据对比的直接经验。 实验内容 进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以

leoabcd12的博客 4654

前端基础(十二):client、屏幕的可视化区域、offset、scroll系列

文章目录1、client系列2、屏幕的可视区域3、offset系列4、scroll系列(1)淘宝应用场景实例一(2)淘宝应用场景实例二 1、client系列 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css">

一点一滴铺就人生 996

Python 爬虫教程:抓取视频平台数据(观看量、评论数、点赞数等)

爬虫(Crawler)是通过编写程序模拟浏览器行为,从互联网上抓取并提取信息的技术。爬虫的核心任务是模拟用户访问网页,获取网页内容并解析出我们需要的数据。爬虫技术被广泛应用于搜索引擎、数据分析、电商价格监控、内容抓取等领域。Bilibili和YouTube。这两个平台都提供丰富的用户生成内容(UGC),且在中国和全球范围内都非常流行。Bilibili:以二次元文化为主的视频平台,用户活跃,视频内容丰富。Bilibili的网页数据较为简单,可以通过传统的HTML解析抓取。YouTube。

2201_76125261的博客 1854

Vue框架学习笔记——事件scroll和wheel的区别

描述scroll滚动条事件和wheel鼠标滚轮事件,以及二者的不同

Aer_7z的博客 2829

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

前端中的offset

offset在英语中做形容词有分支的; 偏(离中)心的,等意思。 原生js中offset主要用来获取宽度高度,以及位置信息。 offsetWidth 、 offsetHeight 得到对象的宽度和高度:offsetWidth = width + border + padding offsetLeft 、 offsetTop 返回距离上级盒子(最近的带有定位)左边的位置; 返回距离上级盒子(最近的...

weixin_34236869的博客 1233

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HttpClient使用具体解释

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,添加�了易用性和灵活性(详细差别,日后我们再讨论),它不仅是client发送Http请求变得easy,并且也方便了开发者測试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是非常重要的必修内容,掌握HttpClient后,相信对于...

weixin_33831196的博客 294

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【JavaScript】页面滚动事件详解

页面滚动事件是浏览器在用户滚动页面时触发的事件。无论是通过鼠标滚轮、键盘上的箭头键,还是触控设备的滑动动作,只要页面内容发生了滚动,就会触发scroll事件。JavaScript 提供了一个简单的方式来监听这个事件,通过window或特定 DOM 元素的方法,我们可以对滚动行为做出反应。console.log('页面正在滚动');});页面滚动事件是 Web 开发中不可或缺的工具,通过它,开发者可以实现丰富的用户交互功能,如回到顶部按钮、无限滚动加载、滚动动画等。

lph159的博客 5595

【前端 | CSS】盒模型clientWidth、clientHeight、offsetWidht、offsetHeight

只读属性Element.clientWidth对于内联元素以及没有 CSS 样式的元素为 0;该属性包括内边距(padding),但不包括边框(border)、外边距(margin)和垂直滚动条(如果存在) offsetWidth 是测量包含元素的边框 (border)、水平线上的内边距 (padding)、竖直方向滚动条 (scrollbar)(如果存在的话)、以及 CSS 设置的宽度 (width) 的值。

趟过java,遇见web 2217

offset、client、scroll三大系列详细分析

1.offset系列 经常用于获得元素位置offsetLeftoffsetTop 2.client经常用于获取元素大小clientWidthclientHeight 3.scroll 经常用于获取滚动距离scrollTopscrollLeft 4.注意页面滚动的距离通过 window.pageXOffset 获得

super码力的博客 1409

offset、client、scroll三大系列详细分析,学前端开发网站

son {.w {js代码:输出结果:1、返回body上方的偏移;150就等于margin: 150px;输出数值不带单位;2、返回body左边框的偏移;100就是等于margin: 100px;不带单位;3、返回元素相对带有定位父元素上方的偏移;45就是等于margin-left: 45px;不带单位;4、返回元素相对带有定位父元素左边框的偏移;0就是等于margin: 0;不带单位;5、返回自身包括padding、边框、内容区的宽度;

2401_84098033的博客 1012

前端学习<四>JavaScript基础——38-offset相关属性和匀速动画(含轮播图的实现)

JS动画的主要内容如下:1、三大家族和一个事件对象:三大家族:offset/scroll/client。也叫三大系列。事件对象/event(事件被触动时,鼠标和键盘的状态)(通过属性控制)。2、动画(闪现/匀速/缓动)3、冒泡/兼容/封装我们知道,JS动画的三大家族包括:offset/scroll/client。今天来讲一下offset,以及与其相关的匀速动画。js中有一套方便的获取元素尺寸的办法就是offset家族。offset家族包括:offsetWidthoffsetHightoffsetLeftof

——心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,谦虚,自律,反思,成长,还算是比较正能量的博主,公益免费传播……内心特别想在AI界做出一些可以推进历史进程影响力的东西(兴趣使然,有点小情怀,也有点使命感呀)… 1145

元素滚动 scroll 与 scroll 事件

scroll 翻译过来就是滚动的意思,我们使用 scroll 的相关属性可以得到元素大小与滚动距离等等 scroll 的相关属性: element.scrollTop:返回滚动后被卷上去的距离,返回值无单位 element.scrollLeft:返回滚动后被卷到左边的距离,返回值无单位 element.scrollWidth:返回自身的实际宽度(包含padding,不包含边框) element.scrollHeight:返回自身的实际高度(包含padding,不包含边框

weixin_52212950的博客 2737

前端-JS进阶-offset/client/scroll

前端-JS进阶-offset/client/scroll

IU_aena的博客 671

(5)元素滚动scroll系列、scroll事件、侧边栏案例

scroll翻译过来就是滚动的,我们使用scroll相关系列的属性可以动态的得到该元素的大下,滚动距离等。 element.scrollTop 返回被卷去的上侧距离(有滚动条时,下滑上侧内容会被卷去),返回数值不带单位 element.scrollLeft 返回被卷上的左侧距离,返回数值不带单位 element.scrollWidth 返回自身实际的宽度,不含边框,返回数值不带单位 element.scrollHeight 返回自身实际的高度,不含边框,返回数值不带单位

weixin_59598992的博客 3203

前端学习笔记(21)之JS中的offsetWidth、offsetHeight、clientWidth、clientHeight等等的详细介绍

offsetWidth //返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距) offsetHeight //返回元素的高度(包括元素高度、内边距和边框,不包括外边距) clientWidth //返回元素的宽度(包括元素宽度、内边距,不包括边框和外边距) clientHeight //返回元素的高度(包括元素高度、内边距,不包括边框和外边距) style.width //返回元素的宽度(包括元素宽度,不包括内边距、边框和外边距) st

前端下午茶 1106

前端小知识(二): 关于滚动相关的概念和设置

理解滚动相关的概念和设置在前端开发中是很重要的,因为页面滚动是用户与网站互动的一部分。

Dwa_ww的博客 829
上一篇: 前端知识点整理之运算符优先级,URL编码与解码,String,Math,arguments操作
下一篇: 前端知识点整理之正则表达式
Wang's Blog
博客等级 码龄12年 7437粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值