Ваш пример неполон.Вам нужно показать, что делает конструктор imageItem
(и принято использовать заглавную букву для первого символа в конструкторе), поэтому:
function ImageItem(src) {
this.image = new Image();
this.src = src.
}
должна выполнить эту работу здесь.Вы также, похоже, хотите, чтобы imgArray
был глобальным, поэтому объявите его как единое целое:
var imgArray;
function initialize(){
//add our 10 images to our array
imgArray[imageNum++] = new imageItem(imageDir + "armory.jpg");
Назначить литерал массива немного проще:
imgArray = [ new ImageItem(imageDir + "armory.jpg"),
new ImageItem(imageDir + "eddy.jpg"),
...
new ImageItem(imageDir + "...")
];
}
var totalImgs = imgArray.length;
Хотя я не могуПосмотрим, почему вы не просто присваиваете литерал массива напрямую и не занимаетесь функцией-оберткой.Функция startImage
может быть немного опрятнее:
function startImage(){
document.getElementById("pic").src = imgArray[0].src;
}
Прямой доступ к свойствам элемента более надежен во всех браузерах и требует меньше ввода, чем при использовании setAttribute
(что имеет причуды в некоторых браузерах).