preload 関数を直接呼び出すと、問題なく動作します。しかし、preload() が onClick で呼び出されると、画像の読み込み後でも処理が終了せず、ブラウザで「読み込み中...」と表示されます。
function preload(images) {
if (document.images) {
var i = 0;
var imageArray = new Array();
imageArray = images.split(',');
var imageObj = new Image();
for(i=0; i<=imageArray.length-1; i++) {
document.write('<img src="' + imageArray[i] + '" width="335px" height="180px" alt="[Alternative text]" />');
imageObj.src=imageArray[i];
}
}
}
<a href="javascript:onclick=preload('1.jpg,2.jpg');">Gallery</a>