From 128fe31fe81ef34d72935aa59d4b1f3d36f5e313 Mon Sep 17 00:00:00 2001 From: chuzhongzai Date: Sun, 20 Aug 2023 15:28:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BF=BB=E9=A1=B5=E6=95=88?= =?UTF-8?q?=E6=9E=9C(=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DashBoard.vue | 10 +++++++-- src/components/OnlineReader.vue | 37 ++++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/components/DashBoard.vue b/src/components/DashBoard.vue index 4c92739..3b81914 100644 --- a/src/components/DashBoard.vue +++ b/src/components/DashBoard.vue @@ -547,8 +547,14 @@ function saveConfig(){ } } - store.state.lengthPerPage = Number(lengthPerPage.value) - localStorage.setItem("lengthPerPage", lengthPerPage.value) + if(lengthPerPage.value < 0 || lengthPerPage.value > 30) { + ElMessage("分页页数设置错误,范围1~30") + lengthPerPage.value = 30 + } + else { + store.state.lengthPerPage = Number(lengthPerPage.value) + localStorage.setItem("lengthPerPage", lengthPerPage.value) + } localStorage.setItem("darkConfig", JSON.stringify(darkConfig.value)) isConfig.value = false adjustForStyle() diff --git a/src/components/OnlineReader.vue b/src/components/OnlineReader.vue index e518398..15479e6 100644 --- a/src/components/OnlineReader.vue +++ b/src/components/OnlineReader.vue @@ -9,6 +9,7 @@ let links = ref() let index = ref(0) let temp_index = ref(0) //用于跳转 let max = ref(0) +let current_page = 0 let lengthPerPage = computed(() => { return store.state.lengthPerPage }) @@ -44,6 +45,40 @@ function closeDialog(){ emit('close') } +function switch_page(target_page){ + console.log(current_page, target_page) + //上一页 + if(target_page > (current_page + 1) && current_page === 0 && index.value > 0) { + console.log("上一页") + document.querySelector("span.el-image-viewer__btn.el-image-viewer__close").click() + jump(index.value - 1) + onlineReadingScrollbar.value.setScrollTop(onlineReadingScrollbar.value.wrapRef.scrollHeight) + let top = 0 + let timer = setInterval(() => { + if(onlineReadingScrollbar.value.scrollTop === top){ + clearInterval(timer) + document.querySelector("div.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default > div > div:last-child > img").click() + } + top = onlineReadingScrollbar.value.scrollTop + onlineReadingScrollbar.value.setScrollTop(onlineReadingScrollbar.value.wrapRef.scrollHeight) + }, 100) + + + //下一页 + }else if(target_page === 0 && current_page === lengthPerPage.value - 1 && index.value < max.value){ + console.log("下一页") + jump(index.value + 1) + current_page = 0 + document.querySelector("div.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default > div > div:nth-child(1) > img").click() + } + else{ + current_page = target_page + } +} + +function set_current_page(page){ + current_page = page +} + :preview-src-list="links" :initial-index="i" @switch="switch_page" @show="set_current_page(i)"/>