Najpierw kod:

Kod
function preloadPhotos(){
var array = new Array();
 var iloscZdjec = getcookie('iloscZdjec');
 for (var i=1; i<=iloscZdjec; i++){
     array[i] = new Image();
     array[i].src = 'zdjecia/' + getcookie('galeria') + '/mini/' + i + '.jpg';
     array[i].onload = function() { updateBar(); };
 }
 array[iloscZdjec].onload = showEnd;
}



Teraz pytanie: czym TEORETYCZNIE rózni się linijka 


Kod
array[i].onload = function() { updateBar(); };


od niby analogicznej

Kod
array[i].onload = updateBar;


Praktycznie różnica jest taka, że w IE7 (jako jedynej przeglądarce) drugi kod nie działa, to znaczy po załadowaniu 2-3 zdjęć przestaje się wykonywać funkcja updateBar, odpowiedzialna za zwiększanie długości paska postępu.  ohmy.gif Podobno teoretycznie kod jest wykonywany w ten sam sposób, niezależnie od tego, czy stosuję funkcję anonimową, czy nie. Piszę na Przedszkolu, bo mam wrażenie, że robię jakiś strasznie dziecinny błąd, ale nie wiem, w którym miejscu i czy dobrze mi się wydaje.