Javascript 在单击按钮时迭代数组
我想在单击按钮时打印阵列中的下一项。它只打印2。我希望它打印2,然后我点击按钮,它应该打印3,然后点击并打印4,依此类推 代码如下:Javascript 在单击按钮时迭代数组,javascript,jquery,html,Javascript,Jquery,Html,我想在单击按钮时打印阵列中的下一项。它只打印2。我希望它打印2,然后我点击按钮,它应该打印3,然后点击并打印4,依此类推 代码如下: 示例问题 函数nextQuestion(){ var questionArray=[2,3,4,5,6,7]; var arrayLength=questionArray.length; 对于(变量i=1;i
示例问题
函数nextQuestion(){
var questionArray=[2,3,4,5,6,7];
var arrayLength=questionArray.length;
对于(变量i=1;i
HTML:
完整代码:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<h1>Sample Question</h1>
<input type='button' id='nextquestion' value='Next' />
<div id="results"></div>
<script type="text/javascript">
$(document).ready(function() {
var questionStack = [7, 6, 5, 4, 3, 2];
$('#nextquestion').click(function() {
$('#results').html(questionStack.pop());
});
});
</script>
</body>
示例问题
$(文档).ready(函数(){
var questionStack=[7,6,5,4,3,2];
$('#nextquestion')。单击(函数(){
$('#results').html(questionStack.pop());
});
});
实际上,您现在打印的内容与数组无关,而与i有关。这里也不需要使用for循环。基本上,您需要跟踪索引,然后在每次运行函数时将其递增一。这样的办法应该行得通
<script type="text/javascript">
var counter = 0;
var questionArray = [2, 3, 4, 5, 6, 7];
function nextQuestion() {
$('#results').html(questionArray[counter]);
counter++
}
</script>
var计数器=0;
var questionArray=[2,3,4,5,6,7];
函数nextQuestion(){
$('#results').html(questionArray[counter]);
柜台++
}
看这个,
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<p>Sample Question</p>
<div id="results"></div>
<script type="text/javascript">
var count = 0;
function nextQuestion() {
var questionArray = [2, 3, 4, 5, 6, 7];
var arrayLength = questionArray.length;
if (count == arrayLength) {
count = 0;
}
$('#results').html(questionArray[count]);
count++;
}
</script>
</body>
示例问题
var计数=0;
函数nextQuestion(){
var questionArray=[2,3,4,5,6,7];
var arrayLength=questionArray.length;
if(计数==阵列长度){
计数=0;
}
$('#results').html(questionArray[count]);
计数++;
}
使用模块模式的另一种方法
var nextQuestion = (function() {
var questionArray = [2, 3, 4, 5, 6, 7];
var i = 0;
return function() {
$('#results').html(questionArray[i%questionArray.length]);
i++;
}
})();
你能用jsfiddle来说明你的问题吗?
<script type="text/javascript">
var counter = 0;
var questionArray = [2, 3, 4, 5, 6, 7];
function nextQuestion() {
$('#results').html(questionArray[counter]);
counter++
}
</script>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<p>Sample Question</p>
<div id="results"></div>
<script type="text/javascript">
var count = 0;
function nextQuestion() {
var questionArray = [2, 3, 4, 5, 6, 7];
var arrayLength = questionArray.length;
if (count == arrayLength) {
count = 0;
}
$('#results').html(questionArray[count]);
count++;
}
</script>
</body>
var nextQuestion = (function() {
var questionArray = [2, 3, 4, 5, 6, 7];
var i = 0;
return function() {
$('#results').html(questionArray[i%questionArray.length]);
i++;
}
})();