あなたが提供したコードは、モーダルを開いたときにスクロールを無効にするのが正しいようです。ただし、問題の原因はいくつか考えられます:
openModal
関數(shù)を使用しません。代わりに、モーダルのスタイルを直接操作します。これは、isModalOpen
変數(shù)が true
に設(shè)定されておらず、disableFullPageScroll
関數(shù)が呼び出されないことを意味します。この問題を解決するには、ボタンがクリックされたときに openModal
関數(shù)を使用する必要があります。
関數(shù)を使用しません。次のようになります:
関數(shù)はグローバル スコープで定義されていませんが、HTML から呼び出されます。これによりエラーが発生する可能性があります。この問題を解決するには、グローバル スコープで
closeModal 関數(shù)を定義する必要があります:
disableFullPageScroll 関數(shù)と
enableFullPageScroll 関數(shù)は、FullPage.js メソッドを使用してスクロールを無効または有効にします。 FullPage.js を使用していない場合、または正しく初期化されていない場合、これらのメソッドは機能しません。 FullPage.js がプロジェクトに含まれており、正しく初期化されていることを確認(rèn)する必要があります。
preventDefault メソッドと
stopPropagation メソッドは、すべての場合にスクロールを防ぐのに十分ではない可能性があります。モーダルが開いているときは
overflow
hidden
に設(shè)定し、モーダルが閉じているときは auto にリセットすることもできます
:
リーリー