繁体   English   中英

用户停止滚动后滚动到顶部并刷新页面

[英]Scroll to top and refresh page after user stopped scrolling

我正在博物馆展示一个网络项目。 这是一个依赖于滚动的项目,需要在用户之间重置。 我想设置一个计时器,将页面滚动到顶部,并在用户离开计算机后重新加载。 我做了一些研究,这是我到目前为止已经解决的问题。 如果用户在两分钟后没有滚动,它会重置页面:

// Setup isScrolling variable
let isScrolling;

// Listen for scroll events
window.addEventListener('scroll', event => {

    // Clear our timeout throughout the scroll
    window.clearTimeout(isScrolling);

    // Set a timeout to run after scrolling ends
    isScrolling = setTimeout(() => {

    // scroll to top and refresh page
    console.log('Scrolling has stopped.');
    window.scrollTo(0,0);
    location.reload();

    }, 120000);

}, false);

这是解决这个问题的最佳方法吗? 在每个卷轴上运行一个事件监听器是否会超级密集,或者这几乎是这样做的方式吗?

好像没问题。 您可以考虑的一件事是去抖动: http//benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/

这将阻止在每个滚动事件上设置新的超时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM