在javascript中平滑向上滚动

时间:2016-10-17 19:13:06

标签: javascript

我想用纯JS顺利滚动到顶部,代码不比当前代码长很多。现在,它只向上滚动1px(我认为它是px)

代码段:

    var textdiv = document.getElementById('infoblok');
    var currentscroll = textdiv.scrollTop;
    for(i = currentscroll; i>0; i--){
      textdiv.scrollTop = currentscroll-1;
   }

2 个答案:

答案 0 :(得分:1)

有些库最适合这项任务。

但是,您可以尝试这一点,但请记住(1)用户可能会在滚动时进行交互,这会产生不良的用户体验,(2)您应该执行此异步操作,以便页面不会冻结。

var textdiv = document.getElementById('infoblok');
var currentscroll = textdiv.scrollTop;
var interval = setInterval(function()
{
    if( textdiv.scrollTop <= 0 ) clearInterval(interval);
    textdiv.scrollTop -= 1;
}, 10);

此示例每10ms一次向上滚动1px。您可以使用1和10来播放不同的滚动速度。

答案 1 :(得分:0)

这可能会有所帮助。我只是快速谷歌搜索。

https://coderwall.com/p/hujlhg/smooth-scrolling-without-jquery