Das richtige Timing finden

JavaScript: Bilder richtig laden

24.5.2011 von Daniela Schrank

Bilder peppen die Website auf. Wir zeigen Ihnen, wie Sie mit JavaScipt schnell und einfach Grafiken vollständig laden.

ca. 1:50 Min
Ratgeber
VG Wort Pixel
  1. JavaScript: Bilder richtig laden
  2. Entscheidend ist das Timing
internet, webdesign, javascript, grafiken, website
internet, webdesign, javascript, grafiken, website
© Internet Magazin

Grafiken für eine Webseite vorladen, ist mit ein paar Zeilen JavaScript eigentlich recht schnell getan. Vorladen ist aber noch lange nicht geladen und so kann es schnell zu einer bösen Überraschung kommen, wenn zu früh auf eine Grafik zugegriffen wird.Dieser Artikel stellt Ihnen ein Objekt vor, mit dem eine beliebige Funktion erst gestartet wird, nachdem alle gewünschten Bilder vollständig geladen sind. Das Objekt kann leicht in die eigene Webseite integriert und dort beliebig oft verwendet werden. Die Verwendung des Objektes werden wir Ihnen am Beispiel einer einfachen Diashow demonstrieren.

Die Diashow

Die Variable diashow verweist auf ein img- Element <img id="Diashow" src=""/> im HTML-Quelltext.Die innere Funktion bildwechsel ruft sich in einem Intervall von 1.000 Millisekunden selbst auf und tauscht dabei dann die Grafik aus.

function meineDiashow() {
var aktivesBild = 0;
var diashow = document.
getElementById("Diashow");
var interval = undefined;
function bildwechsel() {
diashow.src = meineBilder.
bilder[aktivesBild].src;
(aktivesBild==meineBilder.bilder.
length-1)
?aktivesBild=0:aktivesBild++;
window.clearInterval(interval);
interval = window.setInterval
(bildwechsel, 1000);
};
var meineBilder = new LadeBilder
(quellen, bildwechsel);
};

Die Funktion bildwechsel darf erst gestartet werden, wenn alle Bilder geladen sind. Sie wird als zweiter Parameter an die Konstruktorfunktion LadeBilder übergeben.

var meineBilder = new LadeBilder
(quellen, bildwechsel);

Als erster Parameter wird eine globale Arrayvariable quellen übergeben, welche die Namen der Grafikdateien enthält.

var quellen = ["Belgien.gif",
"GibtEsNicht.gif", "Deutschland.gif",
"Frankreich.gif"];

Gegebenenfalls müssen die Dateinamen noch durch eine Verzeichnisangabe ergänzt werden. Der Zugriff auf die Bilder erfolgt über meineBilder.bilder, wie etwa in

diashow.src = meineBilder.bilder
[aktivesBild].src;

Die Funktion meineDiashow darf erst gestartet werden, wenn die HTML-Seite geladen ist, da sie auf Elemente der HTML-Seite zugreift. Dies wird über das onload-Ereignis des body-Elementes realisiert.

<body onload="meineDiashow()">

Die Konstruktorfunktion des Objektes

Die Konstruktorfunktion LadeBilder hat die Aufgabe, die Bilder zu laden und wenn alle Bilder geladen sind, die gewünschte Funktion zu starten.

function LadeBilder(bildQuellen,
starteFunktion) {...};

Es ist Konvention für Konstruktorfunktionen (LadeBilder) die UpperCamelCase-Schreibweise und für normale Funktionen (meine-Diashow) die lowerCamelCase-Schreibweise zu verwenden.Die Bilder und die zu startende Funktion werden bei der Objekterzeugung als Parameter übergeben.

var meineBilder = new LadeBilder
(quellen, bildwechsel);

Bei der Initialisierung des Objektes erzeugt die Konstruktorfunktion aus den übergebenen Bildnamen img-Elemente und weist ihnen die Ereignisfunktion istGeladen zu. Über die Ereignisfunktion wird der Ladevorgang der Bilder kontrolliert und die übergebene Funktion gestartet.

Die Initialisierung des Objektes

Zunächst wird eine Eigenschaft in Form eines Arrays deklariert, welche die img- Elemente aufnimmt.

this.bilder = [];

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

internet, webdesign, adobe,  Illustrator, CS6

Webdesign

Webdesign in Adobe Illustrator CS6

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.

Facebook stellte die neue Suche

Facebook

Facebooks Social Graph Search

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?

Der BGH erklärt das Internet zur Lebensgrundlage.

Online-Recht

Darauf müssen Sie bei den AGB achten

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.

Online-Urheberrecht: Unser Ratgeber bietet Tipps für das Cloud-Recht.

Online-Recht in der Cloud

Wie sieht das Urheberrecht in der Wolke aus?

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…

Logistik im E-Commerce: Prozesse rund um die Logistik.

E-Commerce-Logistik

Logistik im E-Commerce

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.