2010-11-11 40 views
0

簡單容易。旋轉的div使用jQuery

我試圖轉動裏面的div圖像和循環回時,我的數組的末尾已到達第一個。有人能幫我指出我在哪裏出錯我的代碼在這裏?看起來,當它到達第二個圖像時,索引永遠不會返回到零,從而重新開始數組中的第一個圖像。

var images = new Array ('.advert1', '.advert2'); 
var index = 0; 

function rotateImage() 
{ 

$(images[index]).fadeOut('fast', function() 
{ 
    index++;   

    $(images[index]).fadeIn('fast', function() 
    { 

     if (index == images.length-1) 
     { 
      index = 0; 
     } 

    }); 
}); 
} 

這被每5秒調用一次setInterval。

setInterval (rotateImage, 5000); 

非常感謝!

+0

這將有助於如果你解釋什麼不順心。 – Ikke 2010-11-11 10:41:58

+0

謝謝lkke,我添加了額外的信息 – 2010-11-11 10:43:36

回答

1

您需要檢查,如果該指數已經突破出界使用它之前..

function rotateImage() 
{ 

    $(images[index]).fadeOut('fast', function() 
    { 
     index++; 
     if (index == images.length) 
      { 
       index = 0; 
      } 
     $(images[index]).fadeIn('fast'); 
    }); 
} 

,這是因爲當你的功能得到了所謂的和index爲1它會來2,然後嘗試褪色在images[2]這將失敗...

+0

在經過多年的ActionScript之後,我的頭腦開始困擾着jQuery!感謝加比,它的工作! – 2010-11-11 10:58:47