数组中的上一个/下一个项目
Prev/Next item in Array
我有一个带有空数组的变量。
var imageData = [];
var myIndex = 0;
onClick
元素,我将项目添加到数组中。
["item_1", "item_2", "item_3", "item_4", "item_5"]
然后,此数组将添加到具有背景图像的div 中。
$('.final_div').css('background-image', 'url(https://url/path/images/' + imageData[myIndex] + '.png)');
所以我刚刚添加了一个上一个/下一个按钮。我补充说: myIndex = myIndex +1;
到"下一步"按钮,然后myIndex = myIndex -1;
到"上一个"按钮。然而,经过这么多次迭代,我什么也没得到,因为在myIndex中undefined
有人知道我做错了什么?
我已经看过这个问题几次,但不确定我错过了什么。谢谢!
编辑:对不起!下面是代码的更完整视图。
我的数组:["item_1", "item_2", "item_3", "item_4", "item_5"]
我的下一个onClick
:
$('.btn-right').on('click', function(){
myIndex = myIndex + 1;
$('.final_div').css('background-image', 'url(https://url/path/images/' + imageData[myIndex] + '.png)');
});
我的上一页onClick
:
$('.btn-left').on('click', function(){
myIndex = myIndex - 1;
$('.final_div').css('background-image', 'url(https://url/path/images/' + imageData[myIndex] + '.png)');
});
始终将索引保持在数组边界内的一个干净解决方案是将其大小取模。这样:
myIndex = (myIndex + 1) % imageData.length;
这将导致myIndex
在达到imageData.length
后反弹回 0
相同方法的另一种方法是:
myIndex++;
myIndex %= imageData.length;
您每次点击都会增加myIndex
。它很快就会超过imageData
的末尾(例如,当您的示例中myIndex
为 4 时,递增到 5 将超过数组的末尾(。
检查一下,然后回到开头:
$('.btn-right').on('click', function(){
myIndex++;
if (myIndex >= imageData.length)
myIndex = 0;
$('.final_div').css('background-image', 'url(https://url/path/images/' + imageData[myIndex] + '.png)');
});
或者只是停留在列表的末尾:
$('.btn-right').on('click', function(){
myIndex++;
if (myIndex >= imageData.length)
myIndex = imageData.length - 1;
$('.final_div').css('background-image', 'url(https://url/path/images/' + imageData[myIndex] + '.png)');
});
"左"的逻辑类似 - 要么:
if (myIndex < 0)
myIndex = imageData.length - 1;
或
if (myIndex < 0)
myIndex = 0;
相关文章:
- angularjs移除焦点上的活动类并添加到下一个项目
- 如何在猫头鹰旋转木马中滑动所有可见项目,而不是使用上一个/下一个按钮
- Asp.net 引导下拉菜单 - 选择一个项目
- 处理一个项目,想要添加以下菜单栏,并尽量减少向下滑动
- 正在获取下一个可用编号,跳过数组中的项目
- 滚动到列表中的特定项目,然后滚动到列表的下一个特定项目
- 角度 - ng 网格通过分组按语法选择下一个/上一个项目
- 每个空格键 - 预览下一个和上一个项目
- 显示数组的下一个/上一个项目
- 当选择只有一个项目时,如何禁用选择的下拉菜单
- 数组中的上一个/下一个项目
- 下一个和上一个按钮将在OWL旋转木马上滑动2个项目
- 使用jQuery进行Javascript分页(下一个项目/上一个项目)
- 适合我的下一个“;侧面“;项目
- jQuery/JS–点击博客图片滚动到下一个博客项目
- 如何使用Mongoose获取当前项目的下一个和上一个项目
- 如何使用jQuery设置每个项目的背景颜色到下一个项目
- 猫头鹰旋转木马下一个项目
- 这怎么能等到更新完成后再移动到下一个项目呢?
- 在CKEDITOR中如何找到当前光标位置的下一个项目