如何暂时禁用滚动
使用scrollTo jQuery插件时暂时禁用滚动的一种方法是调整“body”的CSS “ 元素。但是,这种方法会隐藏滚动条,这可能并不理想。
更有效的解决方案是阻止特定交互事件触发滚动。这些事件包括:
要实现此解决方案,您可以使用以下 JavaScript 代码:
// Disable scrolling function disableScroll() { window.addEventListener('DOMMouseScroll', preventDefault, false); // older FF window.addEventListener('wheel', preventDefault, { passive: false }); // modern desktop window.addEventListener('touchmove', preventDefault, { passive: false }); // mobile window.addEventListener('keydown', preventDefaultForScrollKeys, false); } // Enable scrolling function enableScroll() { window.removeEventListener('DOMMouseScroll', preventDefault, false); window.removeEventListener('wheel', preventDefault, { passive: false }); window.removeEventListener('touchmove', preventDefault, { passive: false }); window.removeEventListener('keydown', preventDefaultForScrollKeys, false); }
此代码在窗口元素上设置事件侦听器以防止触发默认滚动操作。当需要禁用滚动时,调用disableScroll()函数;要重新启用滚动,请调用enableScroll()函数。
此方法允许滚动条保持可见,但阻止其用于滚动。它还适用于多种浏览器。
以上是如何在 JavaScript 中暂时禁用滚动而不隐藏滚动条?的详细内容。更多信息请关注PHP中文网其他相关文章!