关于window.scroll系列方法汇总 & 滚动到指定元素位置

 

1.window.scroll()

概述

滚动窗口至文档中的特定位置。

语法

window.scroll(x-coord, y-coord)  // 参数表示想要置于左上角的像素点的横纵坐标

2.window.scrollBy()

概述

在窗口中按指定的偏移量滚动文档(相对于当前位置进行偏移)

语法

window.scrollBy(x-coord, y-coord); // 参数为横纵偏移量
window.scrollBy(options); // 参数是一个包含三个属性的对象{top,left,behavior}
    // top等同于y-coord,left等同于x-coord
    // behavior表示滚动行为: smoth(平滑滚动),instant (瞬间滚动),默认值 auto(效果等同于instant)

3.window.scrollTo()

该函数实际上与window.scroll是一样的,兼容性较差

参数与window.scrollBy()相同,都可传入对象


4.滚动到指定元素位置 -  2019/9/6

var $wrapper = $('#wrapper');     // 父级容器
var $target = $('#target');    // 目标元素
$wrapper.scrollTop($target.offset().top - $wrapper.offset().top + $wrapper.scrollTop())
// 目标元素与视口的距离 - 父级容器与视口的距离 + 当前滚动条的位置

 5.获取当前滚动条位置 - 2020/1/14

let body = document.body;
body.scrollTop; // number, 目标元素当前的垂直滚动位置
body.scrollLeft; // number, 水平滚动位置

6.判断是否滚动到最底部

let body = document.body;
body.clientHeight; // 元素当前可视区域高度(不算隐藏的部分)
body.scrollHeight; // 元素滚动区域高度
// 滚动到底部
if(body.clientHeight + body.scrollTop == body.scrollHeight) {
    console.log('已滚动到底部')
}

 

你可能感兴趣的:(关于window.scroll系列方法汇总 & 滚动到指定元素位置)