| | |
| | | <!-- eslint-disable vue/multi-word-component-names --> |
| | | <template> |
| | | <div class="page-main" @scroll="throttledScrollHandler"> |
| | | <div |
| | |
| | | transform: `scale(${pageZoom ? pageZoom : 1})`, |
| | | }" |
| | | > |
| | | <div style="width: 100%; height: 800px;"> |
| | | <drawflow /> |
| | | </div> |
| | | <front001 v-if="showCatalogList.indexOf(0) > -1" /> |
| | | <ChapterOne v-if="showCatalogList.indexOf(1) > -1" /> |
| | | <ChapterTwo v-if="showCatalogList.indexOf(2) > -1" /> |
| | | <ChapterThree v-if="showCatalogList.indexOf(3) > -1" /> |
| | | <ChapterFour v-if="showCatalogList.indexOf(4) > -1" /> |
| | | <ChapterFive v-if="showCatalogList.indexOf(5) > -1" /> |
| | | <!-- <chapterSix v-if="showCatalogList.indexOf(6) > -1" /> --> |
| | | <!-- <chapterSix /> --> |
| | | <!-- <chapterSeven /> --> |
| | | <!-- <chapterEight /> --> |
| | | <!-- <chapterNine /> --> |
| | | <!-- <chapter010 /> --> |
| | | <!-- <chapter011 /> --> |
| | | <!-- <chapter012 /> --> |
| | | <!-- <chapter013 /> --> |
| | | <!-- <chapter014 /> --> |
| | | <!-- <chapter015 /> --> |
| | | <!-- <chapter016 /> --> |
| | | <!-- <chapter017 /> --> |
| | | <!-- <topic008 /> --> |
| | | <front001 v-if="showCatalogList.indexOf(1) > -1" /> |
| | | <ChapterOne v-if="showCatalogList.indexOf(2) > -1" /> |
| | | <ChapterTwo v-if="showCatalogList.indexOf(3) > -1" /> |
| | | <ChapterThree v-if="showCatalogList.indexOf(4) > -1" /> |
| | | <ChapterFour v-if="showCatalogList.indexOf(5) > -1" /> |
| | | <ChapterFive v-if="showCatalogList.indexOf(6) > -1" /> |
| | | <chapterSix v-if="showCatalogList.indexOf(7) > -1" /> |
| | | <chapterSeven v-if="showCatalogList.indexOf(8) > -1" /> |
| | | <chapterEight v-if="showCatalogList.indexOf(9) > -1" /> |
| | | <chapterNine v-if="showCatalogList.indexOf(10) > -1" /> |
| | | <chapter010 v-if="showCatalogList.indexOf(11) > -1" /> |
| | | <chapter011 v-if="showCatalogList.indexOf(12) > -1" /> |
| | | <chapter012 v-if="showCatalogList.indexOf(13) > -1" /> |
| | | <chapter013 v-if="showCatalogList.indexOf(14) > -1" /> |
| | | <chapter014 v-if="showCatalogList.indexOf(15) > -1" /> |
| | | <chapter015 v-if="showCatalogList.indexOf(16) > -1" /> |
| | | <chapter016 v-if="showCatalogList.indexOf(17) > -1" /> |
| | | <chapter017 v-if="showCatalogList.indexOf(18) > -1" /> |
| | | <chapter018 v-if="showCatalogList.indexOf(19) > -1" /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | import chapter015 from "./view/chapter015"; |
| | | import chapter016 from "./view/chapter016"; |
| | | import chapter017 from "./view/chapter017"; |
| | | import chapter018 from "./view/chapter018"; |
| | | import NoteIcon from "@/assets/images/biji.png"; |
| | | import drawflow from "@/components/drawflow"; |
| | | import _ from "lodash"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | catalogLength: 7, // 总章节数 |
| | | catalogLength: 18, // 总章节数 |
| | | showCatalogList: [], // 显示的章节 |
| | | loadThreshold: 300, // 触发加载阈值 |
| | | throttleThreshold: 100, // 节流阈值 |
| | |
| | | }, |
| | | watch: { |
| | | showCatalogList: { |
| | | // eslint-disable-next-line no-unused-vars |
| | | handler(newVal, oldVal) { |
| | | if ( |
| | | this.$store.state.qiankun && |
| | |
| | | showCatalogList: newVal, |
| | | }); |
| | | } |
| | | |
| | | // 启动页码观察 |
| | | setTimeout(() => { |
| | | this.initObservation(); |
| | |
| | | }, |
| | | mounted() { |
| | | // 默认加载章节 |
| | | this.showCatalogList = [0]; |
| | | this.showCatalogList = [4]; |
| | | // 滚动监听节流 |
| | | this.throttledScrollHandler = _.throttle( |
| | | this.scrollFun, |
| | |
| | | // }, 3000); |
| | | }, |
| | | components: { |
| | | drawflow, |
| | | front001, |
| | | ChapterOne, |
| | | ChapterTwo, |
| | |
| | | chapter015, |
| | | chapter016, |
| | | chapter017, |
| | | chapter018, |
| | | }, |
| | | computed: { |
| | | fontSize() { |
| | |
| | | ).getSelection(); |
| | | const txt = selection.toString(); |
| | | if (selection.type != "none" && txt) { |
| | | // eslint-disable-next-line no-unused-vars |
| | | let node = selection.anchorNode.parentNode; |
| | | let pageHtml = this.getParentWithClass( |
| | | selection.anchorNode, |
| | |
| | | // 笔记 |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | reg, |
| | | `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')">${data.txt}<img src="${NoteIcon}" style="cursor: pointer" /></span>` |
| | | `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')">${data.txt}<img src="${NoteIcon}" style="cursor: pointer" /></span>` |
| | | ); |
| | | break; |
| | | } |
| | |
| | | } |
| | | }); |
| | | }, |
| | | // eslint-disable-next-line |
| | | getParentWithClass(element, className) { |
| | | while (element.parentElement) { |
| | | element = element.parentElement; |
| | |
| | | } |
| | | } |
| | | }, |
| | | // eslint-disable-next-line no-unused-vars |
| | | pageChangeCallback(entries, observer) { |
| | | //entries:代表观察到的目标元素的集合。 observer:代表观察者对象。 |
| | | entries.forEach((entry) => { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |