From 7f568415400f30527e547fd018bf25b453171ac1 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期二, 14 五月 2024 21:17:54 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout --- src/main.js | 9 +++++---- src/books/childHealth/view/content/components/chapter005.vue | 2 +- src/books/childHealth/view/content/index.vue | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/books/childHealth/view/content/components/chapter005.vue b/src/books/childHealth/view/content/components/chapter005.vue index 6093340..a8068dd 100644 --- a/src/books/childHealth/view/content/components/chapter005.vue +++ b/src/books/childHealth/view/content/components/chapter005.vue @@ -52,7 +52,7 @@ </div> </div> <!-- 100 --> - <div class="page-box"> + <div class="page-box" page="100"> <even-header :num="100" /> <div class="padding-96"> <p> diff --git a/src/books/childHealth/view/content/index.vue b/src/books/childHealth/view/content/index.vue index 3902b2e..b47b0c3 100644 --- a/src/books/childHealth/view/content/index.vue +++ b/src/books/childHealth/view/content/index.vue @@ -70,6 +70,18 @@ this.throttleThreshold, { leading: true, trailing: false } ); + // 鎻愪緵椤甸潰璺宠浆鍔熻兘 + if (this.setGlobalState) { + this.setGlobalState({ + gotoPage: (catalog, page) => { + this.gotoPage(catalog, page); + } + }); + } + // 娴嬭瘯椤甸潰璺宠浆 + // setTimeout(() => { + // this.gotoPage(5, 100); + // }, 3000); }, methods: { scrollFun(e) { @@ -117,6 +129,33 @@ // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆 this.previousScrollTop = event.target.scrollTop; }, + gotoPage(catalog, page) { + if (catalog >= 0 && catalog <= this.catalogLength) { + // 澶勭悊娓叉煋绔犺妭 + if (catalog == 0) { + this.showCatalogList = [0, 1]; + } else if (catalog == this.catalogLength) { + this.showCatalogList = [ + this.catalogLength - 2, + this.catalogLength - 1, + this.catalogLength + ]; + } else { + this.showCatalogList = [catalog - 1, catalog, catalog + 1]; + } + setTimeout(() => { + // 璺宠浆椤电爜 + const pageDom = document.querySelector(`[page="${page}"]`); + if (pageDom) { + pageDom.scrollIntoView(); + } else { + console.log("椤电爜閿欒锛�"); + } + }, 50); + } else { + console.log("绔犺妭閿欒锛�"); + } + } }, components: { pageHeader, diff --git a/src/main.js b/src/main.js index 6e7021d..0079324 100644 --- a/src/main.js +++ b/src/main.js @@ -30,7 +30,9 @@ let instance = null; function render(props = {}) { - const { container } = props; + const { container, onGlobalStateChange, setGlobalState } = props; + Vue.prototype.onGlobalStateChange = onGlobalStateChange; + Vue.prototype.setGlobalState = setGlobalState; instance = new Vue({ // router, store, @@ -56,8 +58,8 @@ props.setGlobalState({ state: 3, // 搴旂敤鎸傝浇瀹屾垚锛屽悓鏃剁敤浜庤Е鍙戜竴娆tateChange灏唖tate鎸傝浇鍦╲uex褰撲腑 - bookName:config.activeBook.bookName, - bookId:config.activeBook.bookId + bookName: config.activeBook.bookName, + bookId: config.activeBook.bookId }); render(props); @@ -72,4 +74,3 @@ // export async function update(props) { // render(props); // } - -- Gitblit v1.9.1