CSS Seitenlader

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Wenn bestimmte Seiten Ihrer Website einige Zeit zum Laden benötigen, sollten Sie einen Seitenlader in Betracht ziehen. Ein Seitenlader ist jede Art von Animation, die einem Besucher visuell mitteilt, dass die Seite geladen wird und er kurz warten soll. Ohne einen Seitenlader könnte ein Besucher denken, Ihre Website reagiere nicht, und frustriert wegklicken. Ein Seitenlader bietet auch eine kleine Ablenkung, die die Wartezeit tatsächlich kürzer erscheinen lässt.

Wenn Ihre Verzögerung beim Laden von Seiten durch etwas wie einen Datenbankabruf verursacht wird, bleibt der Besucher wahrscheinlich auf der aktuellen Seite, bis die Seite, zu der er gelangen möchte, geladen ist. Dies unterscheidet sich von einer Verzögerung beim Laden von Seiten wie großen Bildern, bei denen der Besucher die Seite vor den Verzögerungen erreicht. Es ist das erstgenannte Szenario, in dem ein CSS-Seitenlader sehr gut funktionieren kann. Hier ist, wie Sie es machen

  • Erstellen Sie eine DIV mit Ihrem Seitenlader darin. Dies kann ein kleines animiertes GIF oder vielleicht eine SWF-Flash-Animation sein.
  • Positionieren Sie diese DIV in Ihrem CSS genau dort, wo Sie sie benötigen. Sie kann über dem Hauptinhalt platziert werden, oder Sie können ein Vollbild-Aufhellung wie diese durchführen
    div#page_loader {
      position: absolute;
      top: 0;
      bottom: 0%;
      left: 0;
      right: 0%;
      background-color: white;
      z-index: 99;
    }
  • Fügen Sie diese DIV zu jeder Seite Ihrer Website hinzu, die auf die Seite verlinkt, für die Sie einen Lader benötigen. Stellen Sie dann sicher, dass Sie display: none; zu Ihrem CSS für diese DIV hinzufügen. Dies bewirkt, dass sie unter normalen Umständen überhaupt nicht angezeigt wird.
  • Ein Hauch von JavaScript ist erforderlich, um die Anzeigeeigenschaft dieser DIV umzuschalten. Dieses JavaScript wird in jedes verlinkte Element eingefügt, das auf die langsam ladende Seite verlinkt. Wie folgt
    <a onclick="javascript:document.getElementById('page_loader').style.display='block';" href="slowpage.html">Slow Page</a>

Das Klicken auf diesen Link löst das JavaScript aus, um die Anzeige der DIV auf „block“ zu setzen und sie sofort anzuzeigen. Dies ist für den Besucher sichtbar, bis die langsam ladende Seite geladen ist, dann wird er dorthin weitergeleitet.

Update: Es gibt einen neuen Beitrag einschließlich eines Beispiels hier.