Wie sperrt man temporär das Blättern auf einer Webseite?

7

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?

    
Rajat Gupta 20.06.2011, 12:40
quelle

2 Antworten

6

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.

    
Kamiel Wanrooij 20.06.2011, 12:43
quelle
14

BEARBEITEN Versuchen Sie Folgendes:

Beim Öffnen des Dialogs (Scrollbalken entfernen und verhindern, dass der Benutzer scrollt):

%Vor%

Beim Schließen des Dialogs (dem Benutzer erlauben, erneut zu scrollen):

%Vor%     
Limpan 20.06.2011 13:08
quelle

Tags und Links