2012-07-05 22 views
0

我創建一個「簡單」的JavaScript函數,當用戶點擊一個或下一個基本上在頁面上顯示新信息。 信息是從數組中取得的,我想用i ++或i--來調用數組的一個元素。如何在JavaScript中正確使用迭代值?

繼承人我的JavaScript:

var titles = ["Dundalk", "Navan", "Drogheda", "Dublin"]; 
var i = 0; 

function next() 
    { 
    i++; 
    if (i == titles.length) 
     { 
     i = 0; 
     } 
    var object = document.getElementById('tname'); 
    object.innerHTML = titles[i]; 
    } 

function prev() 
    { 
    if (i == 0) 
     { 
     i = titles.length; 
     } 
    i--; 
    var object = document.getElementById('tname'); 
    object.innerHTML = titles[i]; 
    } 

的問題是,當我在HTML頁面中運行這段代碼,我得到一個「未定義」的結果。 JavaScript沒有意識到我在開始時已經初始化爲0。 例如,如果我將標題[i]更改爲標題[2],則正確的文本將以HTML格式顯示。

什麼我忘記了或者我如何克服這個問題?

感謝

+0

你的源代碼的作品! – Amberlamps 2012-07-05 12:25:33

回答

1

,你看到undefined的事實表明,你正在訪問尚未設置數組索引。您的代碼看起來不錯一目瞭然,所以我猜想,有你沒有表現出一些更多的代碼使用i作爲循環變量和葉其設置爲一個值> titles.length上面的代碼運行之後。

+0

確實。一個常見的「錯誤」是做'for(i = 0; i Supr 2012-07-05 12:33:58

+0

以上JavaScript已完成。但是,我使用其他JavaScript不編譯我也必須使用我的價值,因爲當我改變這個位置= 0;它工作正常!多謝你們! – 2012-07-05 13:10:25

相關問題