嗨,我有一个我想在上一个和下一个按钮滚动的数组。如何使用数组剪接方法来执行此操作并跟踪数组索引?我总是以50
的形式显示//Previous page button calls this function
var previousPage = function(){
pageCount = pageCount -50;
arraySlice = peopleArray.slice(pageCount -50, pageCount);
for(i = 0; i<arraySlice.length;i++){
var key = arraySlice[i];
createCircles(key.gplusUrl, key.gplusImg, divId, key.displayName, divId);
}
};
//Next page button calls next page function
var nextPage = function(){
//I am using pageCount for the index pageCount
//I increment the pageCount by 50
pageCount = pageCount +50;
//Splice the
arraySlice = peopleArray.slice(pageCount, pageCount +50);
//Loop through the array I sliced
for(i = 0; i<arraySlice.length;i++){
key = arraySlice[i];
//This function displays the items from the array you can ignore this
createCircles(key.gplusUrl, key.gplusImg, divId, key.displayName, divId);
}
};
,假设您的当前pagecount在巨大数组中为200:
态P>当您调用nextPage()
时会发生什么?您将PageCount递增至250,然后从(PageCount,PageCount 50)切成(250-300)。因此,现在您最终显示了阵列的这一部分:
&lt; ----- 100 ----- 150 ----- 200 ----- 250 ------ 300 ----->
接下来,可以说您打电话给previousPage()
。您将PageCount降低到200,然后从(PageCount-50,PageCount)切片(150-200)。因此,您最终显示了此部分:
调用nextPage()
将再次显示(250-300)。请注意如何显示它(200-250)?
原因是因为在您以前的第一个页面实现中,您将pagecount减少了50,然后选择在它之前选择50个项目。本质上,当您只想返回50时,您的选择将选择减少100。更改以前的页面实现,也可以从(PageCount,PageCount 50)切下。
另外,请确保在减少pagecount后检查它不是负面的,因为这最终会从数组的末端选择。