diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
index 5332d15742f29df83f3dd15b64d52c5e3d61236e..b7db0cbd246b3815e5684097a9d2fb29d9d1bc78 100644
--- a/layouts/partials/scripts.html
+++ b/layouts/partials/scripts.html
@@ -88,6 +88,18 @@
}
}
}
+ function getNextOrPrevHref(arr, startIndex, step) {
+ let i = startIndex;
+ let href = arr[i].href;
+ while (href == null && i > 0 && i < arr.length) {
+ i += step;
+ if (i > 0 && i < arr.length) {
+ href = arr[i].href;
+ }
+ }
+
+ return href;
+ }
// 获取上一页、下一页
function nextAndPevious(arr, id) {
for (var i = 0; i < arr.length; i++) {
@@ -95,12 +107,14 @@
if (i === 0) {
result.push(null);
} else {
- result.push(arr[i - 1].href);
+ const hrefPrev = getNextOrPrevHref(arr, i - 1, -1);
+ result.push(hrefPrev);
}
if (i === arr.length - 1) {
result.push(null);
} else {
- result.push(arr[i + 1].href);
+ const hrefNext = getNextOrPrevHref(arr, i + 1, 1);
+ result.push(hrefNext);
}
}
}