2015-01-21 75 views
1

我試圖通過一組圖像來製作圖像週期,當您單擊一個按鈕時。爲什麼它不工作?我想確保圖像已預先加載,這樣它就不會使網站變慢。我的圖片幻燈片代碼有什麼問題?

var ImageSet = new Array(); 
 
ImageSet[0] = ImageOne; 
 
ImageOne = newImage(); 
 
ImageSet[0].src = 'Website/Images/CoverPhotos/LogoCover.jpg'; 
 
ImageSet[1] = ImageTwo; 
 
ImageTwo = newImage(); 
 
ImageSet[1].src = 'http://p1.pichost.me/i/64/1886374.jpg'; 
 
ImageSet[2] = ImageThree; 
 
ImageThree = newImage(); 
 
ImageSet[2].src = 'http://abduzeedo.com/files/originals/5/50cuteanimpic6.jpg'; 
 
ImageSet[3] = ImageFour; 
 
ImageFour = newImage(); 
 
ImageSet[3].src = 'http://www.onsecrethunt.com/wallpaper/wp-content/uploads/2015/01/Cool-Wallpapers-Card-Pictures-1200x675.jpg'; 
 

 
var ImageSwitchNo = 0; 
 

 
function Change() { 
 

 
if (ImageSwitchNo < 3) { 
 
ImageSwitchNo++; 
 
}else { 
 
ImageSwitchNo = 0; 
 
} 
 
var ImageSrc = document.getElementById('HeaderPhotoImage').innerHTML; 
 
ImageSrc.src = ImageSet[3]; 
 
}

回答

0

如果你改變從倒數第二行您的代碼可以工作,

ImageSrc.src = ImageSet[3]; 

ImageSrc.src = ImageSet[ImageSwitchNo]; 
1

你給ImageOne三線的值試圖將它存儲在它之前的行中的數組之後。

取而代之的是:

var ImageSet = new Array(); 
ImageSet[0] = ImageOne; 
ImageOne = newImage(); 
ImageSet[0].src = 'Website/Images/CoverPhotos/LogoCover.jpg'; 

嘗試做這樣爲所有這些:

var ImageSet = []; 
ImageOne = newImage(); //gives ImageOne a value. 
ImageSet[0] = ImageOne; //THEN sets the index of ImageSet to that value. 
ImageSet[0].src = 'Website/Images/CoverPhotos/LogoCover.jpg';