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个元素。这个插槽是否固定?