js实现滚动条滑动到底部

Posted ZHAO_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js实现滚动条滑动到底部相关的知识,希望对你有一定的参考价值。

缓动滑动到底部

使用requestAnimationFrame缓动滑动到底部

setTimeout(scrollToBottom, 100);

scrollToBottom = () => {
  console.log(\'scrollToBottom\');
 (function smoothscroll() {
    const currentScroll = document.documentElement.scrollTop || document.body.scrollTop; // 已经被卷掉的高度
 const clientHeight = document.documentElement.clientHeight; // 浏览器高度
 const scrollHeight = document.documentElement.scrollHeight; // 总高度
 if (scrollHeight - 10 > currentScroll + clientHeight) {
      window.requestAnimationFrame(smoothscroll);
 window.scrollTo(0, currentScroll + (scrollHeight - currentScroll - clientHeight) / 2);
 }
  })();
};

指定dom的滚动条滑动到底部

一般情况下使用body的滚动条,但是特殊情况下需要指定某个dom的滚动条滑动到最底部,因此需要指定滚动条容器,方便计算出容器的高度和容器内容的总高度;

setTimeout(scrollToBottom, 100);

scrollToBottom() {
 const domWrapper = document.querySelector(\'.wrapper\'); // 外层容器 出现滚动条的dom
 (function smoothscroll() {
     const currentScroll = domWrapper.scrollTop;   // 已经被卷掉的高度
     const clientHeight = domWrapper.offsetHeight; // 容器高度
     const scrollHeight = domWrapper.scrollHeight; // 内容总高度
     if (scrollHeight - 10 > currentScroll + clientHeight) {
         window.requestAnimationFrame(smoothscroll);
         domWrapper.scrollTo(0, currentScroll + (scrollHeight - currentScroll - clientHeight) / 2);
    }
 })();
}

以上是关于js实现滚动条滑动到底部的主要内容,如果未能解决你的问题,请参考以下文章

内层盒子滚动条滑动到底部会滑动外层滚动条解决方法

带滚动条的div如何实现内容滑动,新手不懂,求高手支招

js如何监听屏幕滚动到底了

判断滚动条到底部的JS代码

利用JS,如何判断滚动条是不是滚动到页面最底部

JS控制滚动条缓慢移动到底部 有问题