【发布时间】:2017-12-30 19:03:46
【问题描述】:
我正在尝试使用“上一个”和“下一个”按钮循环遍历数组,分别在数组中移动。
它可以正常工作,直到您更改“方向”并尝试说,例如 '下一个' 然后 '以前的'
数组显示它已经存在的相同元素,而不是显示数组的前一个元素。
例如,我在 4,点击“上一个”按钮,它仍然在 4。您必须再次按“上一个”按钮才能使其回到 3。
我在这里错过了什么......?
var numbers = ["I am index number 0", "I am index number 1", "I am index number 2",
"I am index number 3", "I am index number 4", "I am index number 5"];
var i=0;
var text = "";
document.getElementById("back").addEventListener("click", function previous() {
if (i-1 >= 0) {
var text = numbers[--i];
}
document.getElementById("filler").innerHTML = text;
});
document.getElementById("forward").addEventListener("click", function next(){
if (i < numbers.length) {
var text = numbers[i++];
}
document.getElementById("filler").innerHTML = text;
});
<p id="filler"></p>
<button id="back">PREVIOUS</button>
<button id="forward">NEXT</button>
【问题讨论】:
-
--i递减值然后返回值。i++返回当前值,然后递增。如果您希望它们的行为相同,请使用--i和++i或在索引引用之外执行操作。 -
我建议你学习如何使用 Chrome 开发者工具。具体来说,它有一个调试器,允许您一次单步执行代码并观察变量的值。这是所有 JavaScript 程序员的宝贵工具。
-
Code-Apprentice,我一直在使用开发工具来查找实际错误,但是在这种情况下并没有未捕获的错误。您能否建议我如何更有效地使用此工具来帮助解决此类问题?
标签: javascript arrays loops iteration