AJAX Ladeschnecke ohne Bilder oder zusätzlichem CSS

Der Anwendungsfall tritt sehr oft ein: Eine Ergebnisliste soll nachgefiltert werden, und zur Visualisierung, dass gerade etwas im Hintergrund passiert, soll eine „Ladeschnecke“ (oder vielleicht etwas old-school-mäßig ein Fortschrittsbalken) angezeigt werden. Oftmals wird das so umgesetzt, dass man im „beforeLoad“-Ereignis des AJAX-Calls eine animierte Grafik hinzufügt, welche im „complete“-Ereignis wieder entfernt oder unsichtbar gemacht wird.

Der Nachteil an dieser Methode: Manchmal meint der Browser, dass er die Grafik nicht zu laden braucht, weil sie ja ursprünglich unsichtbar war oder gar nicht erst existiert hat. Oft kann man das durch einen harten Reload mit STRG+F5 oder dergleichen beheben, aber das nützt zumindest einem Endbenutzer, der über die Existenz der für ihn nicht sichtbaren Ladeschnecke ja gar keine Kenntnis hat, wenig. Es muss also eine weniger fehleranfällige Lösung her:

Tadaaaa: spin.js!

Das Tool ist in „reinem“ JavaScript geschrieben, also ganz ohne Abhängigkeiten zu jQuery oder anderen Frameworks. Es existiert jedoch ein jQuery-Plugin, mit dem man die an sich schon einfache Einbindung noch etwas einfacher machen kann. Erzeugt wird eine Ladeschnecke, die komplett durch JavaScript/CSS erzeugt wird. Es werden keine Grafiken oder zusätzlicher, eigener CSS-Code benötigt.

Die resultierende Ladeschnecke sieht zwar prinzipiell immer gleich aus: Einige abgerundete Balken, die als Kreis angeordnet zusammen liegen und im Uhrzeigersinn von weiß nach schwarz wechseln, um eine Bewegung anzudeuten. Allerdings ist es möglich, die Größe und das Animationsverhalten recht vielfältig anzupassen; auch die Farbe der Schnecke kann natürlich konfiguriert werden. Man hat also durchaus einige sinnvolle Anpassungsmöglichkeiten. Die prinzipielle Gleichartigkeit hat aber auch den Vorteil, dass es keine drölfzig völlig verschiedenen Schnecken-Layouts auf einer einzelnen Webseite gibt.

Das erste Portal, in dem spin.js benutzt wird, ist Niederösterreich.

Link zur Webseite:
http://fgnass.github.io/spin.js/

Stefan Oswald

Web-Entwickler bei infomax am Standort Grassau

Share
Published by
Stefan Oswald

Recent Posts

imx.Platform News: KI-Textgenerierung, Jobscheduling, OAuth Integration und asynchrone Aktionen

Vom KI-Textgenerierungsmodul, über Jobscheduling bis hin zu OAuth Integration und asynchrone Aktionen. Es gibt wieder…

4 Tagen ago

„Könnte was für mich sein!“ Das war die infomax Coding Challenge.

Wie können wir Schülerinnen und Schüler für die Informatik begeistern – und ihnen spannende berufliche…

2 Wochen ago

Lunch & Learn: XR und die virtuelle Welt!

Was ist AR,MR,VR und XR? Und wie ist es selber in der virtuellen Welt zu…

2 Wochen ago

imx.Platform Lab: Einblicke, Austausch und Inspiration

Vergangene Woche fand unser jährliches Netzwerk-Event der imx.Daten-und Serviceplattform statt. So viel sei vorab gesagt…

2 Monaten ago

imx.Platform News: Neue und deutlich erweiterte KI-Services

imx.Platform-Kunden nutzen bereits seit einigen Jahren Services aus dem Bereich der Künstlichen Intelligenz (KI), wenn…

3 Monaten ago

#imxkickoff2024: Was war. Was kommt. Was bleibt.

Wie geht man am besten an einen Blogbeitrag über den Jahresauftakt #imxkickoff2024 des infomax-Teams vergangene…

3 Monaten ago