Javascript:如何在单击按钮时显示下一个数组值

Vam*_*oth 1 html javascript arrays jquery button

我正在尝试用 javascript/jquery 和 html 编写代码,我认为这相当简单,但事实证明(对我来说)非常具有挑战性。我有一个程序可以计算斐波那契数列的前 x 个数字,并将其存储在一个数组中。我想做的是制作两个按钮来显示序列中的下一个或上一个数字。这是我到目前为止所拥有的。

JavaScript:

var all = new Array();
fib = function (numMax) {
    for (i = 0, j = 1, k = 0; k < numMax; i = j, j = x, k++) {
        x = i + j;
        //window.document.write(x + " ");
        all[k] = x;
    }
};

fib(1000);

fibon = function () {
    getElementById("mynum").innerHTML = "all[+1]";
};
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type="text" id="mynum">
<button onclick="fibon();">Next</button>
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 5

您需要一个包含当前索引的变量,然后每次单击时递增它。

fibindex = 0;

function fibon() {
    if (fibindex >= all.count) {
        document.getElementById("mynum").value = "We've run out of Fibonacci numbers";
    } else {
        document.getElementById("mynum").value = all[fibindex];
        fibindex++;
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,请注意,不应在变量的使用周围加上引号。添加您用来.value填写输入的内容,而不是.innerHTML.

演示版