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

标签 javascript jquery html arrays 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]";
};

HTML:

<input type="text" id="mynum">
<button onclick="fibon();">Next</button>

最佳答案

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

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++;
    }
}

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

DEMO

关于Javascript:如何在单击按钮时显示下一个数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26186997/

相关文章:

javascript - 对象问题中的 Jquery 对象

javascript - 捕获和处理videojs的 'click'的 'bigplaybutton'事件不起作用

javascript - JQuery 警报不适用于 onkeyup 事件

javascript - 始终在桌面上显示 div 并在移动屏幕上切换点击

javascript - 突出显示文本区域中的文本

javascript - AngularJS 忽略发布时禁用

javascript - 检查 iframe src 中是否存在自动播放属性

javascript - onclick ="document.forms[0].submit();"和表单提交的区别

javascript - 使用 node.js 将重复的 HTML 片段导入到其他 html 文件中

javascript - 添加新的 React 组件 onclick