Javascript 无法使用'prev'和'next'箭头分割数组

Javascript 无法使用'prev'和'next'箭头分割数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组值,需要切片并显示在网页中。我有prev和next箭头,根据数组导航,我正在切片数组值。这是我使用next箭头时的工作。但不使用prev数组 从逻辑上讲,我在这里犯了一些错误。当next或prev大于或小于数组长度时,我将应用opacity并禁用该按钮 有人纠正我的错误吗 这是我的密码: var num=0; var myArray=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”、“13”]; var批=5; var值=0;

我有一个数组值,需要切片并显示在网页中。我有
prev
next
箭头,根据数组导航,我正在切片数组值。这是我使用
next
箭头时的工作。但不使用
prev
数组

从逻辑上讲,我在这里犯了一些错误。当
next
prev
大于或小于数组长度时,我将应用
opacity
并禁用该按钮

有人纠正我的错误吗

这是我的密码:

var num=0;
var myArray=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”、“13”];
var批=5;
var值=0;
var showArray=函数(num){
var required=myArray.slice(值,(批处理+值));
console.log(必需,num);
数值+=5;
}
showArray(0);
功能添加(金额){
num=(num+myArray.length-batch+amount)%myArray.length+batch;
显示数组(num);
}
$(“#下一个箭头”)。单击(函数(e){
如果(值>=myArray.length){
$(e.target).css({opacity:0.5});
返回
}
$(e.target).css({opacity:1});
添加(批)
}); 
$(“#上一个箭头”)。单击(函数(e){
如果(值请尝试此项

$(document).ready(function(){

    var num = 0;
  var myArray = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"];
  var batch = 5;
  var nextIndex = 0;
  var prevIndex = 0;

  var showArray = function (boolShowPrev) {

        var required;

        if(boolShowPrev){

            console.log("==",nextIndex, nextIndex+batch);
            required = myArray.slice(nextIndex, nextIndex+batch);    
            console.log(required)
            nextIndex += 5; 
            prevIndex -= 5;
         }else{
            if(nextIndex >= myArray.length){

                prevIndex=batch- (nextIndex-myArray.length);
                required = myArray.slice(-prevIndex);
                console.log(required);

                nextIndex -= 5; 
            }else{

                console.log("prev",-batch-prevIndex,-prevIndex)    
                required = myArray.slice(-batch-prevIndex,-prevIndex);
                console.log(required);
                prevIndex +=batch;
                nextIndex -= 5;
            }


        }


  }

  showArray(true);

 $('#next-arrow').click(function(e){

   if(nextIndex >= myArray.length) {
     $(e.target).css({ opacity:0.5 });
     return
   }
   $(e.target).css({ opacity:1});
   showArray(true)


 }); 
 $('#prev-arrow').click(function(e){

   if(prevIndex >= myArray.length) {
     $(e.target).css({ opacity:0.5 });
     return
   }

   $(e.target).css({ opacity:1});
   showArray(false)

 });

})

请参阅此

一件事,在
showArray()
中,您总是向
值添加5
showArray()
接受一个参数
num
,但它所做的只是将其记录到控制台。如果(我在问题中添加了
live demo
链接。有人更新了你的其他想法吗?你每次提取5个元素。这个插槽是否固定?