0

我正在创建一个“简单”的 javaScript 函数,当用户单击下一个或上一个时,它基本上会在页面上显示新信息。信息取自一个数组,我想使用 i++ 或 i-- 来调用数组的元素。

这是我的 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 没有识别出 i 一开始就被初始化为 0。例如,如果我将titles[i] 更改为titles[2],正确的文本将显示在HTML 中。

我忘记了什么,或者我该如何克服?

谢谢

4

1 回答 1

1

您看到的事实undefined表明您正在访问尚未设置的数组索引。您的代码一目了然,所以我猜还有一些您没有显示的代码用作i循环变量,并> titles.length在上面的代码运行后将其设置为一个值。

于 2012-07-05T12:27:37.873 回答