Wenn das Modal geöffnet ist, möchte ich das JavaScript-Scrollen für die gesamte Seite deaktivieren. Das Problem besteht darin, dass, wenn ich das Modal öffne und versuche zu scrollen, der Inhalt hinter das Modal, also die eigentliche Webseite, verschoben wird, und ich möchte das deaktivieren. Beim Öffnen des Modals sollte der Hintergrund eingefroren sein.
您提供的代码在打开模态框时禁用滚动似乎是正确的。然而,有几个可能导致问题的原因:
openModal
函数。相反,它直接操作模态框的样式。这意味着isModalOpen
变量没有被设置为true
,disableFullPageScroll
函数也没有被调用。要解决这个问题,您应该在按钮被点击时使用openModal
函数:closeModal
函数。应该像这样:×
closeModal
函数没有在全局作用域中定义,但它被从HTML中调用。这可能会导致错误。要解决这个问题,您应该在全局作用域中定义closeModal
函数:disableFullPageScroll
和enableFullPageScroll
函数使用FullPage.js的方法来禁用和启用滚动。如果您没有使用FullPage.js,或者它没有正确初始化,这些方法将不起作用。您应该检查FullPage.js是否正确包含和初始化在您的项目中。滚动事件处理程序中的
的preventDefault
和stopPropagation
方法可能不足以阻止所有情况下的滚动。在模态框打开时,您可能还需要将overflow
样式设置为hidden
,并在模态框关闭时将其重置为auto
:请尝试这些建议,并告诉我是否解决了您的问题。