启用和禁用页面滚动

Enabling and disabling scrolling on pages

本文关键字:滚动 启用      更新时间:2023-09-26

我有两个页面,在一个页面上我需要禁用滚动,在另一个页面上启用,但是当我尝试用jQuery这样做时,整个屏幕晃动,几乎不可能滚动。

我在脚本中是这样做的:

$(document).ready(function () {      
  if (window.location.pathname = '/all') {
    $('body').css('overflow-y', 'auto');
  } else {
    $('body').css('overflow-y', 'hidden');
  }
});

是否有其他方法可以做同样的事情?

我认为问题在于if语句中的单个等号。

您可以在滚动事件中使用preventDefault

$(window).on('mousewheel DOMMouseScroll', (e) => e.preventDefault())

如果您还需要阻止向下和向上键,您还需要捕获$(window)preventDefault上的按键事件。