Christopher Reimann: Scrollbar (Hauptfenster) vorübergehend ausblenden

Ein Ladebildschirm wird bei Bedarf zur Laufzeit generiert. Hierzu gehört ein Bild, etc. und - das Bedeutende - ein Vollbild <div>, das die gesamte Anzeige bedecken soll. Allerdings interpretiert der Browser "Vollbild" leider nur als die im Generierungsmoment vom Bildschirm angezeigten Ausschnitt. D.h., dass der User noch scrollen kann und dort doch die Inhalte noch sieht. Etwas ungewollt ist es ... Hier die CSS-Zuweisungen des <div> - Elements:

  
#loading_block  
{  
 display:none;  
 overflow:auto;  
  
 width:100%;  
 height:100%;  
  
 margin:-20px;  
  
 background-color:#fff;  
 position:absolute;  
  
 z-index:2;  
}  

  1. Moin

    Ein Ladebildschirm wird bei Bedarf zur Laufzeit generiert.

    Was ist ein Ladebildschirm?

    dass der User noch scrollen kann und dort doch die Inhalte noch sieht. Etwas ungewollt ist es ...

    ich empfinde es nicht als "ungewollt" noch scrollen zu können.

    Genau genommen entgeht mir der Sinn des Ganzen. Aber du hast dich auch nicht unbedingt klar ausgedrückt.

    Gruß
    rfb

    1. Was ist ein Ladebildschirm?

      Man könnte es umschreiben als eine Anzeige, die den User wissen lässt, dass er gerade nichts machen soll (und wenn tatsächlich Vollbild KANN er auch nichts machen)

      dass der User noch scrollen kann und dort doch die Inhalte noch sieht. Etwas ungewollt ist es ...
      ich empfinde es nicht als "ungewollt" noch scrollen zu können.

      Es ist aus dem Grunde ungewollt, dass er durch das Scrollen wieder Seitenelemente sieht, wodurch er den Ladevorgang beeinflussen kann.

      Genau genommen entgeht mir der Sinn des Ganzen. Aber du hast dich auch nicht unbedingt klar ausgedrückt.

      Tut mir Leid, aber ich habe tatsächlich ein Brett vorm Kopf :) Danke dennoch für die Bemühung um eine Antwort. Hier noch mal schematisch:

      a) die Anzeige des Browsers mit einem vollformatigen div-Element überlegen. (sodass sich von der GUI aus auf KEIN anderes Element mehr zugreifen lässt)
      b) Scrollmöglichkeit unterbinden, da hierdurch unüberdeckte Seiteninhalte wieder sichtbar werden.

      besser?

      1. Hallo,

        Man könnte es umschreiben als eine Anzeige, die den User wissen lässt, dass er gerade nichts machen soll (und wenn tatsächlich Vollbild KANN er auch nichts machen)

        tatsächlich nicht? Er kann z.B. ein "Reload" oder ein "Back" anstoßen. Er kann auch den Ladevorgang abbrechen.

        a) die Anzeige des Browsers mit einem vollformatigen div-Element überlegen. (sodass sich von der GUI aus auf KEIN anderes Element mehr zugreifen lässt)
        b) Scrollmöglichkeit unterbinden, da hierdurch unüberdeckte Seiteninhalte wieder sichtbar werden.

        Und wo genau hast du jetzt dein Problem? overflow:hidden für ein Element, z.B. body, schneidet Inhalte, die nicht in den vorgesehenen Ausschnitt passen, einfach ab. Logisch, dass dann auch kein Scrollbalken angezeigt wird. Dynamisch kannst du das mit Javascript über das style-Objekt des jeweiligen Elements realisieren.

        Was machst du denn mit den Besuchern, bei denen Javascript deaktiviert ist und deine Kindersicherung deshalb nicht funktionieren kann?

        Angenehme Feiertage,
         Martin

        --
        Programmierer (m), seltener auch ~in (w):
        Irdische, i.a. humanoide Lebensform, die in einem komplizierten biochemischen Prozess Kaffee, Cola und Pizza in maschinenlesbaren Programmcode umwandelt.
        P~ bilden gelegentlich mit ihresgleichen kleine Gruppen, sogenannte Communities, sind aber ansonsten meist scheue Einzelgänger.
        P~ sind vorwiegend nachtaktiv und ohne technische Hilfsmittel nur eingeschränkt lebensfähig.
        1. Und wo genau hast du jetzt dein Problem? overflow:hidden für ein Element, z.B. body, schneidet Inhalte, die nicht in den vorgesehenen Ausschnitt passen, einfach ab. Logisch, dass dann auch kein Scrollbalken angezeigt wird. Dynamisch kannst du das mit Javascript über das style-Objekt des jeweiligen Elements realisieren.

          Das klingt wie eine SEHR gute Idee! Gleich ausprobieren - super!

          Was machst du denn mit den Besuchern, bei denen Javascript deaktiviert ist und deine Kindersicherung deshalb nicht funktionieren kann?

          aktiviertes Javascript ist vorausgesetzt.
          Kindersicherung ist gut :) Nein, es dient der Benutzerfreundlichkeit. Die Nutzer sind Laien. Da kommt es ihnen zu Hilfe, wenn die Darstellung der Seite sich beispielsweise einem Dateiupload anpasst.

        2. overflow:hidden für ein Element, z.B. body, schneidet Inhalte, die nicht in den vorgesehenen Ausschnitt passen, einfach ab.

          Für die Nachwelt mit gleichem Problem: Diese Vorgehensweise funktioniert prima!

          Danke, Martin, und dir auch einen guten Weihnachtsabend. Mit Gedanken an den Ursprung, vielleicht ...