📅  最后修改于: 2023-12-03 15:31:41.603000             🧑  作者: Mango
在某些情况下,我们可能需要禁止或取消页面的滚动。这可以通过JavaScript来实现。
CSS属性overflow:hidden
可以用来禁止滚动。通过JavaScript来设置body的overflow属性为hidden,就可以达到取消页面滚动的效果。
document.body.style.overflow = 'hidden';
如果需要恢复滚动,可以把overflow属性值设为auto或者空字符串。
document.body.style.overflow = 'auto';
另一种方法是通过监听滚轮事件,阻止浏览器默认的滚动行为。
function preventDefault(e) {
e.preventDefault();
}
// 监听滚轮事件
window.addEventListener('mousewheel', preventDefault, { passive: false });
// 恢复默认行为
window.removeEventListener('mousewheel', preventDefault);
上面的代码中,preventDefault函数用来阻止浏览器的默认行为。通过addEventListener来监听滚轮事件,并把第三个参数设为{ passive: false },则表示不能被动态禁用。最后,通过removeEventListener来取消监听。
总结:
以上两种方法都可以实现取消滚动的效果,根据具体场景选用即可。