Maison > Questions et réponses > le corps du texte
P粉8055354342023-08-18 22:20:41
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 : <button id="openModalButton" class="w3-button w3-black">打开模态框</button>
closeModal
. Cela devrait ressembler à ceci : <span id="closeModalButton" class="w3-button w3-display-topright">×</span>
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 window.closeModal = closeModal;
disableFullPageScroll
和enableFullPageScroll
preventDefault
和stopPropagation
方法可能不足以阻止所有情况下的滚动。在模态框打开时,您可能还需要将
overflow
样式设置为hidden
,并在模态框关闭时将其重置为auto
dans le gestionnaire d'événements de défilement :
function disableFullPageScroll() { $.fn.fullpage.setAllowScrolling(false); $.fn.fullpage.setKeyboardScrolling(false); document.body.style.overflow = 'hidden'; } function enableFullPageScroll() { $.fn.fullpage.setAllowScrolling(true); $.fn.fullpage.setKeyboardScrolling(true); document.body.style.overflow = 'auto'; }Veuillez essayer ces suggestions et faites-moi savoir si cela résout votre problème. 🎜