Comment désactiver le défilement lorsque le modal est ouvert - Full Page JS
P粉090087228
P粉090087228 2023-08-18 00:15:20
0
1
399

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é.

×

Dans notre entreprise, nous avons une passion pour le travail du bois et cela se voit dans tous nos projets de fabrication et de design d'intérieur. Nous nous spécialisons dans la création de meubles, d'accessoires et d'accessoires en bois sur mesure aussi fonctionnels que beaux
P粉090087228
P粉090087228

répondre à tous (1)
P粉805535434

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 :

  1. Le bouton qui ouvre la boîte modale n'utilise pas la fonctionopenModal函数。相反,它直接操作模态框的样式。这意味着isModalOpen变量没有被设置为truedisableFullPageScroll函数也没有被调用。要解决这个问题,您应该在按钮被点击时使用openModalque vous avez définie dans le script :
  1. La balisequi ferme la boîte modale n'utilise pas la fonctioncloseModal. Cela devrait ressembler à ceci :
×
  1. closeModal函数没有在全局作用域中定义,但它被从HTML中调用。这可能会导致错误。要解决这个问题,您应该在全局作用域中定义closeModalLa 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
  2. dans la portée globale :
    window.closeModal = closeModal;
  1. La fonction

    disableFullPageScrollenableFullPageScroll

    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.
  2. preventDefaultstopPropagation方法可能不足以阻止所有情况下的滚动。在模态框打开时,您可能还需要将

    overflow样式设置为hidden,并在模态框关闭时将其重置为autodans 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.
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!