在单击时循环遍历数组以记录元素时出现问题
Having Issue on Looping Through an Array to Log elements on Click
您能否看一下这个演示,并让我知道当按钮单击触发时,我如何循环到sectorArray[]
的不同元素并记录该元素?现在我有一个问题,从负或加开始,并在函数到达最后一个元素时返回开始!
var sectorArray = ["a", "b", "c"];
var counter = 0;
$(".plus").on("click", function(e) {
console.log(sectorArray[counter]);
counter++;
});
$(".minus").on("click", function(e) {
counter--;
console.log(sectorArray[counter]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" class="minus">-</button>
<button type="button" class="plus" >+</button>
工作小提琴
您需要做的就是在counter
变量超出范围时重置它:
var sectorArray = ["a", "b", "c"];
var counter = -1; // start at -1 because we inc/dec before we log
$(".plus").on("click", function(e) {
// Increment and check if counter is out of bounds
if(++counter >= sectorArray.length){
counter = 0;
}
console.log(sectorArray[counter]);
});
$(".minus").on("click", function(e) {
// Decrement and check if counter is out of bounds
if(--counter < 0){
counter = sectorArray.length - 1;
}
console.log(sectorArray[counter]);
});
相关文章:
- 将动态表单元素限制为最多10个记录
- 媒体记录器 API 通过 Web 音频 API(不是音频元素)播放
- 在单击时循环遍历数组以记录元素时出现问题
- 通过 jQuery 添加新记录元素
- jQuery:记录数组中的元素变化,并通过索引检查它是如何变化的
- 使用用户脚本记录网页动态创建的 DOM 元素
- 在mongoDb中,如果字符串输入与任何数组元素匹配,如何获取整个记录(在这种情况下,数组是记录的属性)
- 如何将HTML元素作为JavaScript对象进行日志记录
- 如何在 JavaScript 中记录或打印数组中的多个元素
- 一个mouseleave事件将$(this)记录为元素;另一个将其作为委托对象进行日志记录
- 如何记录所有元素'的属性
- 在ExtJS中获取基于grid's记录/模型的行HTML元素
- 如何使用javascript动态添加html元素,并在php中保存它们的记录
- 如何在angular中记录元素
- jquery访问一个命名JSON元素中的第n条记录
- 记录在页面上显示某些元素所花费的时间
- 如何避免将特定元素添加到浏览器历史记录中
- 访问 ExtJS 存储中位于定义的记录之外的 XML 元素
- 有没有一种速记的方法来记录.createElement多个元素
- 需要在ASP.net数据列表的单个记录中识别特定元素的ID