Ce que je veux faire, c'est, lorsque le modal est ouvert, désactiver le défilement JavaScript pour toute la page. Le problème est que lorsque j'ouvre le modal et que j'essaie de le faire défiler, le contenu se déplace derrière le modal, qui est la page Web réelle, et je souhaite le désactiver. Lorsque le modal est ouvert, l'arrière-plan doit être gelé.
Le code que vous avez fourni semble correct pour désactiver le défilement lorsque le modal est ouvert. Cependant, il existe plusieurs causes possibles au problème :
openModal
函数。相反,它直接操作模态框的样式。这意味着isModalOpen
变量没有被设置为true
,disableFullPageScroll
函数也没有被调用。要解决这个问题,您应该在按钮被点击时使用openModal
que vous avez définie dans le script :closeModal
. Cela devrait ressembler à ceci :×
closeModal
函数没有在全局作用域中定义,但它被从HTML中调用。这可能会导致错误。要解决这个问题,您应该在全局作用域中定义closeModal
La fonction n'est pas définie dans la portée globale, mais elle est appelée depuis HTML. Cela peut provoquer des erreurs. Pour résoudre ce problème, vous devez définir la fonction
utilise les méthodes FullPage.js pour désactiver et activer le défilement. Si vous n'utilisez pas FullPage.js ou s'il n'est pas initialisé correctement, ces méthodes ne fonctionneront pas. Vous devez vérifier que FullPage.js est inclus et initialisé correctement dans votre projet.disableFullPageScroll
和enableFullPageScroll
的preventDefault
和stopPropagation
方法可能不足以阻止所有情况下的滚动。在模态框打开时,您可能还需要将overflow
样式设置为hidden
,并在模态框关闭时将其重置为auto
dans le gestionnaire d'événements de défilement :