【问题标题】:Javascript: How to display next array value on button clickJavascript:如何在按钮单击时显示下一个数组值
【发布时间】:2014-11-28 23:41:33
【问题描述】:

我正在尝试用 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>

【问题讨论】:

    标签: javascript jquery html arrays button


    【解决方案1】:

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

    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

    【讨论】:

    • 刚写的时候就加了。
    • 你能做一个jsfiddle吗?
    • 如何添加一个按钮来显示以前的号码?
    • 完全一样,只是你减少索引而不是增加它。
    • 当然使用0作为绑定测试,而不是all.count
    猜你喜欢
    • 2018-07-29
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多