-
CSSを使用してオーバーフローを制御する方法: HTMLのbody要素に対して、overflowプロパティを設定してスクロールを無効にします。そして、ポップアップモーダルが開かれた時にこのスタイルを適用します。
<style> body.modal-open { overflow: hidden; } </style>
JavaScriptでポップアップモーダルを開くときに、body要素にmodal-openクラスを追加し、閉じるときに削除します。
// ポップアップモーダルを開く function openModal() { document.body.classList.add('modal-open'); // 他のポップアップモーダルの設定 } // ポップアップモーダルを閉じる function closeModal() { document.body.classList.remove('modal-open'); // 他のポップアップモーダルの設定 }
-
JavaScriptを使用してスクロールを無効にする方法: JavaScriptを使って、ポップアップモーダルが開いている間にスクロールイベントをキャンセルします。
// ポップアップモーダルを開く function openModal() { // バックグラウンドのスクロールを無効化 document.addEventListener('scroll', disableScroll); // 他のポップアップモーダルの設定 } // ポップアップモーダルを閉じる function closeModal() { // バックグラウンドのスクロールを有効化 document.removeEventListener('scroll', disableScroll); // 他のポップアップモーダルの設定 } // スクロールイベントをキャンセルする関数 function disableScroll(event) { event.preventDefault(); event.stopPropagation(); }
これらの方法を使用すると、ポップアップモーダルが開いている間にバックグラウンドのスクロールを無効にすることができます。選択した方法をポップアップモーダルのコードに組み込んでください。