Wie kann ich das Scrollen einer Webseite vorübergehend sperren, wenn ein Dialogfeld angezeigt wird? Ich habe ein Dialogfeld, in dem ich das Scrollen nach aktivieren möchte, nachdem ich das Scrollen von der überlagerten Webseite deaktiviert habe .
Gibt es einen js-Befehl, vorübergehend das Scrollen zu deaktivieren?
Sie könnten ein Containerelement oder vielleicht sogar den Körper auf overflow: hidden
mit einer Breite und Höhe des Browserfensters setzen. Auf diese Weise wird überlaufender Inhalt von der Seite fallen und Bildlaufleisten werden nie angezeigt. Dies kann in einer CSS-Anweisung wie body.dialog-open { overflow: hidden; }
eingestellt werden. Sie können dann den .dialog-open
-Klassennamen hinzufügen und entfernen, wenn das Dialogfeld geöffnet und geschlossen wird.
Die Breite und Höhe sind möglicherweise nicht erforderlich, wenn dies auf dem Körper eingestellt wird, aber ich müsste die Browserkompatibilität überprüfen. Könnte einige unerwartete Ergebnisse dort bekommen.
bearbeiten:
Wenn Sie in Ihrem Dialog scrollen möchten, können Sie dort overflow: auto
mit einer für dieses Element festgelegten Höhe setzen.
Ältere Browser (vor allem IE) zeigen möglicherweise auch eine horizontale Bildlaufleiste an, möglicherweise müssen Sie overflow-x: hidden
einstellen, falls dies der Fall ist.
Siehe auch: CSS div element - how to Nur horizontale Bildlaufleisten anzeigen? für weitere Informationen zu Bildlaufleisten.
Tags und Links javascript html