javascript - 使用 mod 环绕

标签 javascript jquery

假设数组的长度为 1000。我正在尝试创建一种简单的方法来遍历存储在数组中的图像路径而不会越界。当涉及到单击“下一步”按钮以增加数组索引时,下面的方法使用模数很好地处理了环绕,但当我必须减少并从索引中减去一个时(当用户单击上一个按钮时)。

基本上我想做的是:

998 -> click next -> 999
999 -> click next -> 0
0 -> click previous -> 999

我的Javascript

var index = 0;

$('.catalog-img-container').attr("src", javascript_array[index]);
$(".next").click(function(){
        $('.catalog-img-container').attr("src", javascript_array[++index%arrayLength]);
    });         
$(".previous").click(function(){
    $('.catalog-img-container').attr("src", javascript_array[--index]);
    alert(index);

我感谢任何帮助

非常感谢。

最佳答案

可能有更优雅的方法解决这个问题,但这很简单:

$(".previous").click(function(){
    if (--index < 0) index = arrayLength - 1;
    $('.catalog-img-container').attr("src", javascript_array[index%arrayLength]);
}); 

关于javascript - 使用 mod 环绕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14325750/

相关文章:

javascript - jquery 移动导航栏中的多个事件按钮?

javascript - 验证 'Price'( double )表单输入 PHP

javascript - localStorage仅保存数组的第一个成员

javascript - 网站上的多个 iFrame,全部调整为默认高度

javascript - 将枚举值绑定(bind)到 ng-options angular js

javascript - Ajax在html下拉列表中显示php的动态数据

javascript - jQuery 更改不匹配项的不透明度

jquery - 使用弹出消息确认删除 (jQuery)

javascript - JS Promise 内部是如何工作的?

javascript - JQuery 使用 .next ('.selector' 选择下一个 .selector 元素)