JavaScript 特效三大系列总结

本文详细解释了HTML/CSS元素的offset系列、scroll系列和client系列属性的计算方式和区别,以及它们在滚动和布局中的作用。同时提到了一份针对Web前端和Android开发的全套学习资料,包含各类资源和适用人群。
摘要由CSDN通过智能技术生成
  1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离
  • 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧

  • 如果父级盒子没有定位, 那么会接着往上找有定位的盒子

  • 如果上级元素都没有定位,那么最后距离是与body的left值

  1. offsetTop : 用于获取元素到最近定位父盒子的顶部距离
  • 计算方式:当前元素的上边框的上侧到定位父盒子的上边框下侧

  • 如果父级盒子没有定位,那么会接着往上找有定位的盒子

  • 如果上级元素都没有定位,那么最后距离是与body的top值

  1. offsetWidth :用于获取元素的真实宽度(除了margin以外的宽度)

  2. offsetHeight : 用于获取元素的真实高度(除了margin以外的高度)

  3. offsetParent :用于获取该元素中有定位的最近父级元素

  • 如果当前元素的父级元素都没有进行定位,那么offsetParent为body
2. 与style.(left/top/width/height)的区别:
  1. offset系列的是只读属性,而通过style的方式可以读写

  2. offset系列返回的数值类型(结果四舍五入),style返回的是字符串

  3. offsetLeft 和 offsetTop 可以返回没有定位的元素的left值和top值,而style不可以

二. scroll系列

1.scroll系列的4个属性
  1. scrollHeight :元素中内容的实际高度(没有边框)
  • 如果内容不足,就是元素的高度
  1. scrollWidth: 元素中内容的实际宽度(没有边框)
  • 如果内容不足,就是元素的宽度
  1. scrollTop: onscroll事件发生时,元素向上卷曲出去的距离

  2. scrollLeft : onscroll事件发生时,元素向左卷曲出去的距离

2. 兼容问题

(1) 兼容问题

  • 未声明 DTD: 谷歌,火狐,IE9+支持

document.body.scrollTop/scrollLeft

  • 已经声明DTD:IE8以下支持

document.documentElement.scrollTop/scrollLeft

  • 火狐/谷歌/ie9+以上支持的

window.pageYOffest/pageXOffest

(2) 兼容代码

function getScroll() {

return {

left: window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft || 0,

top: window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop || 0

};

}

使用方法:

  1. 取得scrollLeft值: getScroll().left

  2. 取得scrollTop值: getScroll().top

三. client系列

1.client系列的4个常用属性(clientTop和clientLeft这里不予介绍)
  1. clientWidth : 获取网页可视区域的宽度

  2. clientHeight: 获取网页可视区域的高度

  3. clientX :获取鼠标事件发生时的应用客户端区域的水平坐标

  4. clientY :获取鼠标事件发生时的应用客户端区域的垂直坐标

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值