2014-10-03 98 views
1

我想写一个代码在JavaScript/jQuery和HTML中,我认为这将是相当简单的,但事实上是相当具有挑战性(对我来说)。我有一个计算fibonacci序列的前x个数的程序,并将其存储在一个数组中。我想要做的是做两个按钮,将显示序列中的下一个或前一个数字。这是我迄今为止所拥有的。Javascript:如何显示下一个数组值按钮点击

的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> 

回答

4

您需要的是包含当前索引的变量,然后单击每次加一。

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

+0

索引OOB检查!!!但是,是的,+1 – tymeJV 2014-10-03 21:26:41

+0

刚刚写下来的时候就要补充一点。 – Barmar 2014-10-03 21:27:45

+0

你能不能让一个jsfiddle? – VampireTooth 2014-10-03 21:34:35

相关问题