So deaktivieren Sie das Scrollen, wenn Modal geöffnet ist – Full Page JS
P粉090087228
P粉090087228 2023-08-18 00:15:20
0
1
423

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.

×

In unserem Unternehmen haben wir eine Leidenschaft für die Holzbearbeitung und das zeigt sich in allen unseren Fertigungs- und Innenarchitekturprojekten. Wir sind auf die Herstellung maßgeschneiderter Holzmöbel, Einrichtungsgegenstände und Akzente spezialisiert, die ebenso funktional wie schön sind
P粉090087228
P粉090087228

Antworte allen (1)
P粉805535434

您提供的代码在打开模态框时禁用滚动似乎是正确的。然而,有几个可能导致问题的原因:

  1. 打开模态框的按钮没有使用您在脚本中定义的openModal函数。相反,它直接操作模态框的样式。这意味着isModalOpen变量没有被设置为truedisableFullPageScroll函数也没有被调用。要解决这个问题,您应该在按钮被点击时使用openModal函数:
  1. 关闭模态框的标签也没有使用closeModal函数。应该像这样:
×
  1. closeModal函数没有在全局作用域中定义,但它被从HTML中调用。这可能会导致错误。要解决这个问题,您应该在全局作用域中定义closeModal函数:
window.closeModal = closeModal;
  1. disableFullPageScrollenableFullPageScroll函数使用FullPage.js的方法来禁用和启用滚动。如果您没有使用FullPage.js,或者它没有正确初始化,这些方法将不起作用。您应该检查FullPage.js是否正确包含和初始化在您的项目中。

  2. 滚动事件处理程序中的preventDefaultstopPropagation方法可能不足以阻止所有情况下的滚动。在模态框打开时,您可能还需要将

    overflow样式设置为hidden,并在模态框关闭时将其重置为auto
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'; }

请尝试这些建议,并告诉我是否解决了您的问题。

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!