fakeAjax Image Loader
2. März 2007 von Alexander Petri
Wer kennt nicht diese Bildergallieriescripte wie Lightbox etc.
Ich habe mich immer schon gefragt wie man einen einfachen Imageloader mit diesen tollen Ajax-Loader Bildern selber basteln kann.
Problem war: ich hatte eine Reihe von Links die in einer Gallerie auf Bilder verwiesen haben. Ich wollte nun ohne das die Seite neu geladen wird ein Bild austauschen und zwar erst nachdem es geladen wurde.
Hier nun die Lösung:
-
-
function ImageLoader(id,url){
-
this.i = new Image();
-
this.indicator = new Image();
-
this.indicator.src=’ajax-loader.gif’;
-
this.id = id;
-
this.url = url;
-
this.rand = Math.floor(Math.random()*100000000000); //cache verhindern
-
this.imEl=document.getElementById(id);
-
this.loadImage = function(){
-
objRef=this;
-
this.imEl.src=this.indicator.src;
-
this.i.src=this.url+’?r=’+this.rand;
-
objRef.waitForImage();
-
};
-
-
this.waitForImage = function(){
-
if(objRef.i.complete){
-
objRef.imEl.src=this.i.src;
-
}else{
-
setTimeout(’objRef.waitForImage()’, 100);
-
}
-
};
-
}
-
function lo(id,url){
-
loa=new ImageLoader(id,url);
-
loa.loadImage();
-
}
hier die Source Dateien:
Loading Indicator
fakeAjax Image Loader Beispielhtml
auf Wunsch könnt Ihr die Zeilen mit dem random ausschalten.
PHP Usergroup Frankfurt am Main (PHPUGFFM)

Am 2. März 2007 um 13:54 Uhr
Hab es in IE7 und FF1.5 getestet.
Am 5. April 2007 um 16:40 Uhr
Hi,
im FF 2.0 geht es auch. Wirst du das noch weiter entwickeln?? oder ist das so schon fertig??, weil ich suche sowas einfaches für meine Seite, aber so das man dem Link auch folgen kann, wenn man Javascript abgeschaltet hat.
MfG
Michael Finger
Holztechniker
Am 12. April 2007 um 08:07 Uhr
Hi Alex, danke für dein Posting. Im Opera 9 geht das auch. Ich habe das mal adaptiert und noch eine Abfrage eingebaut die guckt, ob das Bild schon per Cache vorhanden war (und somit den Random entfernt). Dazu kam nochmal ein wenig jQuery Zuckerguss, der sich prima dazu eignet, das auch ohne Javascript funktionsfähig zu halten. Live-Beispiele: Mit 2 Bildern, mit 4 Bildern und mit 6 Bildern.
Die Modifikation erstreckt sich auf den Teil der das Bild einlädt. Hier wird einfach geprüft, ob das Bild bereits fertig ist. Falls ja wird sich das waiting gespart (prdimg01.js).
Am 12. April 2007 um 08:55 Uhr
[...] finally nifty update on elbtunnel.com: Inspired by Alex Petri’s fakeAjax Image Loader a Product Image Gallery was created. Damn me luuv jQuery! Additionally another niche loading Image [...]