[英]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.