Ein Problem, auf das Frontend-Entwickler häufig stoßen, ist das Erstellen eines Popup-Fensters, um Benutzern Informationen anzuzeigen. Wenn dieses Popup-Fenster angezeigt wird, wird es häufig von einer grauen Maskenebene begleitet, die den Seiteninhalt blockiert. Gleichzeitig wird die gesamte Seite von dieser Maske abgedeckt und kann nicht angeklickt oder gescrollt werden. Lösung 1: Überlauf kontrollieren und Scrollen verhindern (nicht mit iOS kompatibel) Es ist ganz einfach, diesen Effekt auf dem PC zu erzeugen. Sie müssen lediglich die Höhe des HTML auf 100 % einstellen, um den Bildschirm auszufüllen, und den Überlauf des HTML auf „versteckt“ setzen, um sicherzustellen, dass die Seite nicht gescrollt werden kann. html.style.overflow="versteckt"; html.style.height="100%"; body.style.overflow="versteckt"; Körper.Stil.Höhe="100%"; Der Grund dafür ist, dass das mobile Endgerät auf Berührungsereignissen basiert. Um das Scrollen basierend auf Berührungsereignissen zu verhindern, müssen wir auf der Grundlage des Scrollenverbots in HTML dem Inhalt, dessen Scrollen verhindert werden soll, ein umschließendes Blockelement hinzufügen und dann die Höhe dieses umschließenden Blockelements auf 100 % setzen und overflow:hidden; festlegen. Dann denken wir hier, dass body die gesamte Seite umschließt, was das Blockelement ist, das wir brauchen. Wenn wir es so einstellen, dass das Scrollen verhindert wird, können wir sicherstellen, dass die Gleitzeit der mobilen Seite kein Seitenscrollen auslöst. html.style.overflow="sichtbar"; html.style.height="auto"; body.style.overflow="sichtbar"; Körper.Stil.Höhe="auto"; Diese Stile sind genau die Standardstile der entsprechenden CSS-Eigenschaften. Lösung 2: Absolutes/festes Layout verhindert das Aufsteigen von Gesten-Scrolling-Ereignissen (nicht wirksam auf dem PC) Gerade weil das Scrollen des mobilen Endgeräts auf dem Berührungsereignis des Bildschirms basiert, entstand die zweite Lösung (Taobao Mobile verwendet diese Lösung). Der vollständige Testquellcode der Lösung 2 ist unten aufgeführt: <!DOCTYPE html> <html> <Kopf> <meta charset="UTF-8"> <Titel></Titel> <Stil> .Hauptinhalt{ Position: relativ; Breite: 100 %; Hintergrundfarbe:#ccc; Höhe: 2000px; } .Hauptinhalt .Trigger{ Breite: 200px; Höhe: 100px; Schriftgröße: 30px; Farbe: #000; } .Hauptinhalt .unten{ Position: absolut; unten: 0; links: 0; Breite: 100 %; Höhe: 200px; Hintergrundfarbe: rot; } .schwarzes-Schild{ Position: fest; oben: 0; links: 0; Breite: 100 %; Höhe: 100 %; Hintergrundfarbe: rgba (10,10,10,0,4); z-Index: 10; } .schwarzes-Schild .info{ Schriftgröße: 40px; Farbe: #000; Rand: 1px durchgezogen; z-Index: 20; } </Stil> </Kopf> <Text> <div Klasse="Hauptinhalt"> <button id="trigger" class="trigger">Ein/Aus</button> <div Klasse="bottom"></div> </div> <div id="Schild" Klasse="schwarzes Schild" style="Anzeige:keine;"> <div id="info" class="info">Nachdem der aktuelle schwarze Bildschirm angezeigt wird, sollte die Seite nicht verschiebbar sein. Klicken Sie auf den aktuellen Text, um den schwarzen Bildschirm zu schließen</div> </div> <Skript> Funktion test2(){ var showShield=false; var Schild = document.getElementById("Schild"); var trigger = document.getElementById("trigger"); var info = document.getElementById("info"); var body = document.querySelector("body"); var html = document.querySelector("html"); //Klicken, um den schwarzen Bildschirm anzuzeigen trigger.addEventListener("click",function(){ Schild.Stil.Anzeige="Block"; },FALSCH); //Klicken, um den schwarzen Vorhang zu schließen info.addEventListener("touchstart",function(){ Schild.Stil.Anzeige="keine"; },FALSCH); //Berührungsereignisse in der Ebene des schwarzen Bildschirms blockieren shield.addEventListener("touchstart",function(e){ e.stopPropagation(); e.preventDefault(); },FALSCH); } test2(); </Skript> </body> </html> Dies ist das Ende dieses Artikels über die Popup-Maske der Frontend-Seite, die das Scrollen der Seite verhindert. Weitere relevante Inhalte zur Popup-Maske, die das Scrollen der Seite verhindert, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! |
<<: Detaillierte Erklärung der grundlegenden HTML-Tags und -Strukturen
>>: CSS, um in wenigen Schritten visuelle Effekte im Stil von Cyberpunk 2077 zu erzielen
Inhaltsverzeichnis 1. Einleitung 2. Einführung in...
Physisch gesehen besteht eine InnoDB-Tabelle aus ...
Da einige Abhängigkeiten von OpenCV beim Ausführe...
Inhaltsverzeichnis Überblick Erfordern URL der An...
Inhaltsverzeichnis Bedingte Kompilierung Seitenla...
Code kopieren Der Code lautet wie folgt: <Kopf...
Autor: Ding Yi Quelle: https://chengxuzhixin.com/...
Ich habe gelernt, wie man https bekommt. Kürzlich...
In diesem Artikelbeispiel wird der spezifische JS...
MyISAM, eine häufig verwendete Speicher-Engine in...
Konventionelle Lösung Verwenden Sie FileReader, u...
In diesem Artikelbeispiel wird der spezifische Co...
1. Versuchen Sie, ein einspaltiges statt eines meh...
Sie können sehen, dass ihre visuellen Effekte sehr...
Der mathematische Ausdruck calc() ist eine Funkti...