You need to define the onload function using closure:
for (var i = 0; i < imgCount; i ++) {
loadArr[i] = false
imgArr[i] = new Image()
imgArr[i].src='img'+i+'.png'
imgArr[i].onload = (function(i){
return function(){ loadArr[i] = true }
})(i);
}
Here's a jsFiddle that demonstrates that this works in a similar scenario.
Also note that the solution you chose as the answer doesn't actually work:
imgArr[i].onload = (function() {
loadArr[i] = true;
})();
. , loadArr true, onload. :
imgArr[i].onload = loadArr[i] = true;