Heim > Web-Frontend > CSS-Tutorial > Wie kann ich das Scrollen der Bildlaufleiste verhindern, ohne die Bildlaufleiste auszublenden?

Wie kann ich das Scrollen der Bildlaufleiste verhindern, ohne die Bildlaufleiste auszublenden?

Linda Hamilton
Freigeben: 2024-12-09 13:45:15
Original
945 Leute haben es durchsucht

How Can I Prevent Scrollbar Scrolling Without Hiding the Scrollbar?

Verhindern des Scrollens der Bildlaufleiste, ohne es auszublenden

Eine häufige Herausforderung bei der Implementierung von Leuchtkästen ist die Notwendigkeit, die Bildlaufleiste auf der übergeordneten Seite vorübergehend zu deaktivieren, ohne darauf zurückzugreifen Überlauf: versteckt;. Diese Lösung kann zu unerwünschten Sprüngen und Platzbelegung führen.

Zum Glück gibt es einen praktikablen Ansatz, Bildlaufleisten zu deaktivieren und sie trotzdem anzuzeigen. Durch die Verwendung einer festen Positionierung für Elemente unterhalb der Überlagerung ist es möglich, diesen Effekt zu erzielen. Wenn das Overlay aktiviert ist, wenden Sie die folgenden Stile auf den Text an:

body {
    position: fixed;
    overflow-y: scroll;
}
Nach dem Login kopieren

Dadurch wird die Bildlaufleiste angezeigt, ihre Funktionalität wird jedoch deaktiviert. Um diese Änderung beim Schließen des Overlays rückgängig zu machen, stellen Sie einfach die ursprünglichen Stile wieder her:

body {
    position: static;
    overflow-y: auto;
}
Nach dem Login kopieren

In Fällen, in denen auf der Seite bereits gescrollt wurde, erfassen Sie die aktuelle Scrollposition über JavaScript und legen Sie sie als oberste Eigenschaft des fest Das Body-Element stellt sicher, dass die Seite an ihrer aktuellen Bildlaufposition bleibt, wenn das Overlay aktiviert wird. Dies kann mit dem folgenden CSS und JS erreicht werden:

.noscroll {
    position: fixed;
    top: var(--st, 0);
    inline-size: 100%;
    overflow-y: scroll;
}
Nach dem Login kopieren
const b = document.body;
b.style.setProperty('--st', -(document.documentElement.scrollTop) + "px");
b.classList.add('noscroll');
Nach dem Login kopieren

Durch die Implementierung dieses Ansatzes können Sie Bildlaufleisten effektiv deaktivieren, ohne sie auszublenden, und so die gewünschte Funktionalität sowohl für die Lightbox als auch für die übergeordnete Seite beibehalten.

Das obige ist der detaillierte Inhalt vonWie kann ich das Scrollen der Bildlaufleiste verhindern, ohne die Bildlaufleiste auszublenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage