So deaktivieren Sie das Scrollen, wenn Modal geöffnet ist – Full Page JS
<p>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. </p>
<pre class="brush:php;toolbar:false;"><div id="fullpage">
<div class="section">
<?php include './home-page/home-page-manufacturing-list.php';?>
<button id="turnOff" onclick="document.getElementById('id01').style.display='block'" class="w3-button w3-black">Modalbox öffnen</button>
</div>
</div>
<div id="id01" class="w3-modal">
<div class="w3-modal-content">
<div class="w3-container">
<span onclick="closeModal('modal01')" class="w3-button w3-display-topright">×</span>
<div class="container hintergrundfilter">
<div class="row">
<div class="col-12">
<h3 class="section-title"></h3>
</div>
<div class="col-12">
<h5>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</h5>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
var isModalOpen = false;
// Deaktivieren Sie das Scrollen von FullPage.js, wenn das Modal geöffnet ist
Funktion disableFullPageScroll() {
$.fn.fullpage.setAllowScrolling(false);
$.fn.fullpage.setKeyboardScrolling(false);
}
// Aktivieren Sie das Scrollen von FullPage.js, wenn das Modal geschlossen ist
Funktion enableFullPageScroll() {
$.fn.fullpage.setAllowScrolling(true);
$.fn.fullpage.setKeyboardScrolling(true);
}
//Modalbox öffnen
Funktion openModal(modalId) {
document.getElementById(modalId).style.display = 'block';
isModalOpen = true;
disableFullPageScroll();
}
// Modalbox schließen
Funktion closeModal(modalId) {
document.getElementById(modalId).style.display = 'none';
isModalOpen = false;
enableFullPageScroll();
}
// Behandeln Sie Schaltflächenklickereignisse, um das Modal zu öffnen und zu schließen
$('#openModalButton').on('click', function() {
openModal('id01'); // Ersetzen Sie 'id01' durch die ID Ihres Modals
});
$('#closeModalButton').on('click', function() {
closeModal('id01'); // Ersetzen Sie 'id01' durch die ID Ihres Modals
});
// Scroll-Ereignisse verarbeiten
$(window).on('scroll', function(event) {
if (isModalOpen) {
event.preventDefault();
event.stopPropagation();
}
});
});
</script></pre>