DOM盒子
offset系列
文章图片
注意事项
【1】所有偏移量属性都是只读的。
【2】如果给元素设置了display:none,则它的偏移量属性都为0。
【3】每次访问偏移量属性都需要重新计算。
client系列
文章图片
注意事项
【1】所有客户区client属性都是只读的。
【2】如果给元素设置了display:none,则客户区client属性都为0。
【3】每次访问客户区client属性都需要重新计算,重复访问需要耗费大量的性能,所以要尽量避免重复访问这些属性。如果需要重复访问,则把它们的值保存在变量中,以提高性能。
scroll系列
scrollHeight
scrollHeight表示元素的总高度,包括由于溢出而无法展示在网页的不可见部分。
scrollWidth
scrollWidth表示元素的总宽度,包括由于溢出而无法展示在网页的不可见部分。
【1】没有滚动条时,scrollHeight与clientHeight属性结果相等,scrollWidth与clientWidth属性结果相等。
【2】存在滚动条时,但元素设置宽高大于等于元素内容宽高时,scroll和client属性的结果相等。
【3】存在滚动条,但元素设置宽高小于元素内容宽高,即存在内容溢出的情况时,scroll属性大于client属性。
scrollLeft和scrollTop是唯一可写的一组属性。
[注意]为scrollLeft和scrollTop赋值为负值时,并不会报错,而是静默失败。
滚动事件
scroll事件是在window对象上发生的,它表示的是页面中相应元素的变化。当然,scroll事件也可以用在有滚动条的元素。
回到顶部
【1】锚点
使用锚点链接是一种简单的返回顶部的功能实现。该实现主要在页面顶部放置一个指定名称的锚点链接,然后在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的顶部位置。
回到顶部
【2】scrollTop
scrollTop属性表示被隐藏在内容区域上方的像素数。元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度。
由于scrollTop是可写的,可以利用scrollTop来实现回到顶部的功能获取视图的方法。
元素视图 【DOM盒子】元素视图的三个方法,包括
getBoundingClientRect()
、getClientRects()
和elementFromPoint()
,提供当前元素节点的大小、它相对于视口(viewport)的位置等信息。但是,各个浏览器返回的对象包含的属性不相同。推荐阅读
- 虚拟DOM-Diff算法详解
- [译文]Domain|[译文]Domain Driven Design Reference(四)—— 柔性设计
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript之DOM增删改查(重点)
- 【读书笔记】JavaScript|【读书笔记】JavaScript DOM编程艺术 (第2版)
- python|python random使用方法
- 《DOM知识点总结》
- Python之random库的常用函数有哪些
- [Toddler's|[Toddler's Bottle]-random
- DOM、BOM、事件知识总结