元素的尺寸和滚动
- 元素的尺寸:
- clientWidth/Height:可视内容尺寸;clientleft/Top:一般等于边框尺寸
- offsetWidth/Height:元素在页面中的几何尺寸;offsetleft/Top:元素在页面上的坐标
- scrollWidth/Height:内容的完整尺寸;scrollLeft/Top:内容滚动的尺寸,此值可写,用于内容的常规滚动
- 元素的滚动:
- scrollLeft/Top:内容滚动的尺寸,此值可写,用于内容的常规滚动
- 窗口的尺寸
- document.documentElement.clientWidth/Height offsetWidth/Height scrollWidth/Height
- document.body.clientWidth/Height offsetWidth/Height scrollWidth/Height
- window.innerWidth/Height:包含滚动条
- 获得当前滚动
- window.pageXOffset/pageYOffset:只读
- 滚动:scrollTo,scrollBy,scrollIntoView
- 可以通过更改 scrollTop/scrollLeft 来滚动常规元素
- 可以使用 document.documentElement.scrollTop/scrollLeft 对页面进行相同的操作(Safari 除外,而应该使用 document.body.scrollTop/Left 代替)
- 更简单的通用解决方案:使用特殊方法 window.scrollBy(x,y) 和 window.scrollTo(pageX,pageY)
- window.scrollBy(x,y):将页面滚动至 相对于当前位置的 (x, y) 位置
- window.scrollTo(pageX,pageY):将页面滚动至 绝对坐标,使得可见部分的左上角具有相对于文档左上角的坐标 (pageX, pageY)。就像设置了 scrollLeft/scrollTop 一样。
- elem.scrollIntoView(top=true):默认值),页面滚动,使 elem 出现在窗口顶部。元素的上边缘将与窗口顶部对齐。
- elem.scrollIntoView(top=false):页面滚动,使 elem 出现在窗口底部。元素的底部边缘将与窗口底部对齐。