| | |
| | | // childHealth |
| | | // lifeCare |
| | | // sportsAndHealth |
| | | this.config.resourceCtx + "sportsAndHealth" |
| | | this.config.resourceCtx + "english" |
| | | ); |
| | | // æµè¯è¯è¯»30页 |
| | | // this.activeBook.tryPageCount = 10; |
| | |
| | | .highLight { |
| | | border: 1px dashed rgba(255, 255, 255, 0); |
| | | border-radius: 5px; |
| | | padding: 3px; |
| | | padding: 3px 0; |
| | | cursor: pointer; |
| | | } |
| | | .highLight:hover { |
| | |
| | | |
| | | .underline { |
| | | border: 1px dashed rgba(255, 255, 255, 0); |
| | | padding: 5px; |
| | | padding: 5px 0; |
| | | border-radius: 5px; |
| | | text-decoration: underline; |
| | | text-decoration-style: wavy; |
| | |
| | | left: 0; |
| | | margin: auto; |
| | | } |
| | | |
| | | |
| | | .openImgBox img{ |
| | | cursor: zoom-in; |
| | | } |
| | | </style> |
New file |
| | |
| | | <svg t="1717037443722" class="icon" viewBox="0 0 1024 1024" version="1.1" |
| | | xmlns="http://www.w3.org/2000/svg" p-id="30864" xmlns:xlink="http://www.w3.org/1999/xlink" |
| | | width="20" height="20"> |
| | | <path |
| | | d="M387.2 471.152l-154.768 258.72v103.488h515.792V626.384l-149.12 103.488z m283.712-51.744a77.632 77.632 0 1 0 77.392 77.616 77.504 77.504 0 0 0-77.472-77.616zM640 0H160.72A96.736 96.736 0 0 0 64 96.72V927.36a96.736 96.736 0 0 0 96.72 96.64h702.56A96.704 96.704 0 0 0 960 927.36V298.016z m7.808 94.736l226.544 211.008h-146.544a80.08 80.08 0 0 1-80-80zM896 927.36a32.688 32.688 0 0 1-32.72 32.64h-702.56A32.704 32.704 0 0 1 128 927.36V96.72A32.752 32.752 0 0 1 160.72 64l423.088 0.384v161.44a144.176 144.176 0 0 0 144 143.92H896z" |
| | | fill="#ffffff" p-id="30865"></path> |
| | | </svg> |
| | |
| | | color: red; |
| | | } |
| | | .icon-box { |
| | | margin-left: 8px; |
| | | display: inline-block; |
| | | width: 18px; |
| | | height: 18px; |
| | |
| | | } |
| | | } |
| | | } |
| | | .textarea-box { |
| | | border: none; |
| | | text-align: center; |
| | | width: 84px; |
| | | height: 36px; |
| | | overflow: auto; |
| | | word-break: break-all; |
| | | resize: none; |
| | | } |
| | | } |
| | | /* åªä½æ¥è¯¢ååºç¡ååºå¼å¸å± */ |
| | | @media (max-width: 660px) { |
| | |
| | | <div class="chapter" num="0"> |
| | | <!-- 1 --> |
| | | <div class="page-box" page="7"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle" v-if="showPageList.indexOf(7) > -1"> |
| | | <h1 id="a005"> |
| | | <img class="img-0" alt="" src="../../assets/images/dy1.jpg" /> |
| | | </h1> |
| | |
| | | </div> |
| | | <!-- 2 --> |
| | | <div class="page-box" page="8"> |
| | | <div v-if="showPageList.indexOf(8) > -1"> |
| | | <div class="w100 mb-20" style="padding-right: 20px"> |
| | | <div |
| | | class="event-header-bc fl al-end" |
| | |
| | | /> |
| | | </svg> |
| | | </span> |
| | | <!-- <button |
| | | @click="showAnswerTwo = !showAnswerTwo" |
| | | class="parimary-btn" |
| | | > |
| | | æ¾ç¤ºçæ¡ |
| | | </button> --> |
| | | </p> |
| | | <div class="openImgBox"> |
| | | <div class="fl ju-bt"> |
| | | <div class="left" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image :src="imgOne" :preview-src-list="[imgOne]" /> |
| | | <img src="../../assets/images/0012-1.jpg" class="w100" /> |
| | | </p> |
| | | <p class="center"> |
| | | 1.<input |
| | |
| | | <div class="right" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image |
| | | :src="imgTwo" |
| | | :preview-src-list="[imgTwo]" |
| | | style="width: 94%" |
| | | /> |
| | | <img src="../../assets/images/0012-2.jpg" style="width: 94%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 2.<input |
| | |
| | | <div class="left" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image :src="imgThree" :preview-src-list="[imgThree]" /> |
| | | <img src="../../assets/images/0012-3.jpg" class="w100" /> |
| | | </p> |
| | | <p class="center"> |
| | | 3.<input |
| | |
| | | <div class="right" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image |
| | | :src="imgFour" |
| | | :preview-src-list="[imgFour]" |
| | | style="width: 93%" |
| | | /> |
| | | <img src="../../assets/images/0012-4.jpg" style="width: 93%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 4.<input |
| | |
| | | <div class="left" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image :src="imgFive" :preview-src-list="[imgFive]" /> |
| | | <img src="../../assets/images/0012-5.jpg" class="w100" /> |
| | | </p> |
| | | <p class="center"> |
| | | 5.<input |
| | |
| | | <div class="right" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image |
| | | :src="imgSix" |
| | | :preview-src-list="[imgSix]" |
| | | style="width: 92%" |
| | | /> |
| | | <img src="../../assets/images/0012-6.jpg" style="width: 92%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 6.<input |
| | |
| | | > |
| | | çæ¡ï¼Chinese chess |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <p class="t0"> |
| | |
| | | <span class="contet-num-box">2</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 3 --> |
| | | <div class="page-box" page="9"> |
| | | <div v-if="showPageList.indexOf(9) > -1"> |
| | | <ul class="preface-odd-header w100 fl ju-bt"> |
| | | <li class=""></li> |
| | | <li class="fz-18"> |
| | |
| | | <span class="contet-num-box">3</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 4 --> |
| | | <div class="page-box" page="10"> |
| | | <div v-if="showPageList.indexOf(10) > -1"> |
| | | <div class="w100 mb-20" style="padding-right: 20px"> |
| | | <div |
| | | class="event-header-bc fl al-end" |
| | |
| | | <span class="contet-num-box">4</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 5 --> |
| | | <div class="page-box" page="11"> |
| | | <div v-if="showPageList.indexOf(11) > -1"> |
| | | <ul class="preface-odd-header w100 fl ju-bt"> |
| | | <li class=""></li> |
| | | <li class="fz-18"> |
| | |
| | | China. |
| | | </p> |
| | | <p> |
| | | <input type="checkbox" name="ball" value="basketball" id="1" checked="checked"/> |
| | | <input type="checkbox" name="ball" value="Language" id="1" v-model="testData.check" /> |
| | | Language</p> |
| | | <p><input type="checkbox" name="ball" value="basketball" id="1" /> People</p> |
| | | <p><input type="checkbox" name="ball" value="basketball" id="1"/> Culture</p> |
| | | <p><input type="checkbox" name="ball" value="basketball" id="1" /> Cuisine</p> |
| | | <p><input type="checkbox" name="ball" value="basketball" id="1" /> Folk art</p> |
| | | <p><input type="checkbox" name="ball" value="basketball" id="1" /> Landscapes</p> |
| | | <p><input type="checkbox" name="ball" value="basketball" id="1" /> Transportation</p> |
| | | <p><input type="checkbox" name="ball" value="People" id="2" v-model="testData.check" /> People</p> |
| | | <p><input type="checkbox" name="ball" value="Culture" id="3" v-model="testData.check" /> Culture</p> |
| | | <p><input type="checkbox" name="ball" value="Cuisine" id="4" v-model="testData.check" /> Cuisine</p> |
| | | <p><input type="checkbox" name="ball" value="Folk" id="5" v-model="testData.check" /> Folk art</p> |
| | | <p><input type="checkbox" name="ball" value="Landscapes" id="6" v-model="testData.check" /> Landscapes</p> |
| | | <p><input type="checkbox" name="ball" value="Transportation" id="7" v-model="testData.check" /> Transportation</p> |
| | | </div> |
| | | </div> |
| | | <div class="preface-bottom"> |
| | | <span class="contet-num-box">5</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 6 --> |
| | | <div class="page-box" page="12"> |
| | | <div v-if="showPageList.indexOf(12) > -1"> |
| | | <div class="w100 mb-20" style="padding-right: 20px"> |
| | | <div |
| | | class="event-header-bc fl al-end" |
| | |
| | | <span class="contet-num-box">6</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 7 --> |
| | | <div class="page-box" page="13"> |
| | | <div v-if="showPageList.indexOf(13) > -1"> |
| | | <ul class="preface-odd-header w100 fl ju-bt"> |
| | | <li class=""></li> |
| | | <li class="fz-18"> |
| | |
| | | </p> |
| | | <p> |
| | | <b>â
¢.Grammar focus:The conditional sentenceâif-clause.</b> |
| | | <button class="parimary-btn" @click="showAnswer('showImg')"> |
| | | å¾ç |
| | | </button> |
| | | <span class="btn-box" @click="showAnswer('showImg')"> |
| | | <svg t="1717037443722" class="icon" viewBox="0 0 1024 1024" version="1.1" |
| | | xmlns="http://www.w3.org/2000/svg" p-id="30864" xmlns:xlink="http://www.w3.org/1999/xlink" |
| | | width="20" height="20"> |
| | | <path |
| | | d="M387.2 471.152l-154.768 258.72v103.488h515.792V626.384l-149.12 103.488z m283.712-51.744a77.632 77.632 0 1 0 77.392 77.616 77.504 77.504 0 0 0-77.472-77.616zM640 0H160.72A96.736 96.736 0 0 0 64 96.72V927.36a96.736 96.736 0 0 0 96.72 96.64h702.56A96.704 96.704 0 0 0 960 927.36V298.016z m7.808 94.736l226.544 211.008h-146.544a80.08 80.08 0 0 1-80-80zM896 927.36a32.688 32.688 0 0 1-32.72 32.64h-702.56A32.704 32.704 0 0 1 128 927.36V96.72A32.752 32.752 0 0 1 160.72 64l423.088 0.384v161.44a144.176 144.176 0 0 0 144 143.92H896z" |
| | | p-id="30865"></path> |
| | | </svg> |
| | | </span> |
| | | </p> |
| | | <el-image |
| | | v-if="showImg" |
| | |
| | | </p> |
| | | <div class="w100 fl ju-cn"> |
| | | <ul class="fl ju-ev" style="width: 50%"> |
| | | <li><button class="btn-border btn-w">æäº¤</button></li> |
| | | <li><button class="btn-border btn-w" @click="saveData">æäº¤</button></li> |
| | | <li> |
| | | <button @click="setTestData" class="btn-border btn-w"> |
| | | ä¿å |
| | |
| | | <span class="contet-num-box">7</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 8 --> |
| | | <div class="page-box" page="14"> |
| | | <div v-if="showPageList.indexOf(14) > -1"> |
| | | <div class="w100 mb-20" style="padding-right: 20px"> |
| | | <div |
| | | class="event-header-bc fl al-end" |
| | |
| | | <td> |
| | | <textarea |
| | | v-model="questionData.table.one" |
| | | class="w100 table-tr-bc b0 table-textarea" |
| | | class="w100 table-tr-bc b0 table-textarea textarea-box" |
| | | @change="setBookQuestion" |
| | | ></textarea> |
| | | </td> |
| | | <td> |
| | | <textarea |
| | | v-model="questionData.table.two" |
| | | class="w100 table-tr-bc b0 table-textarea" |
| | | class="w100 table-tr-bc b0 table-textarea textarea-box" |
| | | @change="setBookQuestion" |
| | | ></textarea> |
| | | </td> |
| | |
| | | <td> |
| | | <textarea |
| | | v-model="questionData.table.four" |
| | | class="w100 table-tr-bc b0 table-textarea" |
| | | class="w100 table-tr-bc b0 table-textarea textarea-box" |
| | | @change="setBookQuestion" |
| | | ></textarea> |
| | | </td> |
| | | <td> |
| | | <textarea |
| | | v-model="questionData.table.five" |
| | | class="w100 table-tr-bc b0 table-textarea" |
| | | class="w100 table-tr-bc b0 table-textarea textarea-box" |
| | | @change="setBookQuestion" |
| | | ></textarea> |
| | | </td> |
| | |
| | | <td> |
| | | <textarea |
| | | v-model="questionData.table.seven" |
| | | class="w100 table-tr-bc b0 table-textarea" |
| | | class="w100 table-tr-bc b0 table-textarea textarea-box" |
| | | @change="setBookQuestion" |
| | | ></textarea> |
| | | </td> |
| | | <td> |
| | | <textarea |
| | | v-model="questionData.table.enight" |
| | | class="w100 table-tr-bc b0 table-textarea" |
| | | class="w100 table-tr-bc b0 table-textarea textarea-box" |
| | | @change="setBookQuestion" |
| | | ></textarea> |
| | | </td> |
| | |
| | | </p> |
| | | </div> |
| | | <div class="resource-primary-border" style="padding: 8px"> |
| | | <el-carousel |
| | | :autoplay="false" |
| | | trigger="click" |
| | | class="bones-carousel carousel-image" |
| | | arrow="always" |
| | | indicator-position="none" |
| | | <div class="banshi openImgBox"> |
| | | <div class="swiper-container"> |
| | | <div class="swiper-wrapper"> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <el-carousel-item |
| | | v-for="(item, index) in pptList" |
| | | :key="index" |
| | | class="bones-carousel-item" |
| | | > |
| | | <el-image |
| | | :src="item" |
| | | :preview-src-list="pptList" |
| | | :preview-teleported="true" |
| | | class="open-image" |
| | | <img |
| | | src="../../assets/images/ppt/ppt_01.png" |
| | | /> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_01.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_03.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_04.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_05.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_06.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_07.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_08.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_09.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_10.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_11.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_12.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_13.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_14.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_15.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_16.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_17.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_18.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_19.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_20.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_21.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_22.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_23.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_24.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_25.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_26.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-slide"> |
| | | <div |
| | | class="imgBox" |
| | | style="width: 100%; height: 100%" |
| | | > |
| | | <img |
| | | src="../../assets/images/ppt/ppt_27.png" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="swiper-button-next"></div> |
| | | <div class="swiper-button-prev"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <span class="contet-num-box">8</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 9 --> |
| | | <div class="page-box" page="15"> |
| | | <div v-if="showPageList.indexOf(15) > -1"> |
| | | <ul class="preface-odd-header w100 fl ju-bt"> |
| | | <li class=""></li> |
| | | <li class="fz-18"> |
| | |
| | | trainãshared bikeãtake-away service |
| | | </p> |
| | | </div> |
| | | <div class="openImgBox"> |
| | | <div class="fl ju-bt"> |
| | | <div class="left" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image :src="imgSeven" :preview-src-list="[imgSeven]" /> |
| | | <img src="../../assets/images/0019-1.jpg" alt="" class="w100" /> |
| | | </p> |
| | | <p class="center"> |
| | | 1. |
| | |
| | | <div class="right" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image |
| | | :src="imgEnight" |
| | | :preview-src-list="[imgEnight]" |
| | | style="width: 98%" |
| | | /> |
| | | <img src="../../assets/images/0019-2.jpg" alt="" style="width: 98%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 2. |
| | |
| | | <div class="left" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image :src="imgNine" :preview-src-list="[imgNine]" /> |
| | | <img src="../../assets/images/0019-3.jpg" alt="" style="width: 98%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 3. |
| | |
| | | <div class="right" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image |
| | | :src="imgTen" |
| | | :preview-src-list="[imgTen]" |
| | | style="width: 94%" |
| | | /> |
| | | <img src="../../assets/images/0019-4.jpg" alt="" style="width: 94%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 4. |
| | |
| | | <div class="left" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image :src="imgEleven" :preview-src-list="[imgEleven]" /> |
| | | <img src="../../assets/images/0019-5.jpg" alt="" class="w100" /> |
| | | </p> |
| | | <p class="center"> |
| | | 5. |
| | |
| | | <div class="right" style="width: 48%"> |
| | | <div> |
| | | <p class="center"> |
| | | <el-image |
| | | :src="imgTwelve" |
| | | :preview-src-list="[imgTwelve]" |
| | | style="width: 98%" |
| | | /> |
| | | <img src="../../assets/images/0019-6.jpg" alt="" style="width: 98%" /> |
| | | </p> |
| | | <p class="center"> |
| | | 6. |
| | |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="w100 fl ju-cn"> |
| | | <div class="fl ju-ev" style="width: 60%"> |
| | | <button @click="setDropdownData" class="btn-border btn-w"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | |
| | | export default { |
| | | name: "chapter-one", |
| | | props:{ |
| | | showPageList:{ |
| | | type:Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | imgOne: require("../../assets/images/0012-1.jpg"), |
| | | imgTwo: require("../../assets/images/0012-2.jpg"), |
| | | imgThree: require("../../assets/images/0012-3.jpg"), |
| | | imgFour: require("../../assets/images/0012-4.jpg"), |
| | | imgFive: require("../../assets/images/0012-5.jpg"), |
| | | imgSix: require("../../assets/images/0012-6.jpg"), |
| | | imgSeven: require("../../assets/images/0019-1.jpg"), |
| | | imgEnight: require("../../assets/images/0019-2.jpg"), |
| | | imgNine: require("../../assets/images/0019-3.jpg"), |
| | | imgTen: require("../../assets/images/0019-4.jpg"), |
| | | imgEleven: require("../../assets/images/0019-5.jpg"), |
| | | imgTwelve: require("../../assets/images/0019-6.jpg"), |
| | | imgThirteen: require("../../assets/images/grammar.jpg"), |
| | | showAnswerOne: false, |
| | | showAnswerTwo: false, |
| | |
| | | }, |
| | | }, |
| | | testData: { |
| | | check:[], |
| | | tx: { |
| | | one: "", |
| | | two: "", |
| | |
| | | }, |
| | | pptList: [ |
| | | require("../../assets/images/ppt/ppt_01.png"), |
| | | require("../../assets/images/ppt/ppt_02.png"), |
| | | require("../../assets/images/ppt/ppt_01.png"), |
| | | require("../../assets/images/ppt/ppt_03.png"), |
| | | require("../../assets/images/ppt/ppt_04.png"), |
| | | require("../../assets/images/ppt/ppt_05.png"), |
| | |
| | | JSON.stringify(this.dropdownData) |
| | | ); |
| | | }, |
| | | saveData() { |
| | | console.log(this.testData); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | color: #fff; |
| | | } |
| | | } |
| | | .banshi { |
| | | margin-top: 40px; |
| | | width: 100%; |
| | | height: 350px; |
| | | margin: 0 auto; |
| | | } |
| | | select { |
| | | height: 24px; |
| | | } |
| | | </style> |
| | |
| | | <div class="chapter" num="0"> |
| | | <!-- --> |
| | | <div class="page-box" page="1"> |
| | | <div v-if="showPageList.indexOf(1) > -1"> |
| | | <p class="center"> |
| | | <img class="img-0" alt="" src="../../assets/images/Cover.jpg" /> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <!-- 1 --> |
| | | <div class="page-box" page="2"> |
| | | <div v-if="showPageList.indexOf(2) > -1"> |
| | | <p class="center"> |
| | | <img class="img-0" alt="" src="../../assets/images/SMY.jpg" /> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <!-- 2 --> |
| | | <div class="page-box text-center" style="padding: 136px 0" page="3"> |
| | | <div class="box"> |
| | | <div class="box" v-if="showPageList.indexOf(3) > -1"> |
| | | <hr class="line" /> |
| | | <p class="tl fz-14"><b>å¾ä¹¦å¨çç¼ç®ï¼CIPï¼æ°æ®</b></p> |
| | | <p class="tl fz-14 m0"> |
| | |
| | | </div> |
| | | <!-- 3 --> |
| | | <div class="page-box " page="4"> |
| | | <div v-if="showPageList.indexOf(4) > -1"> |
| | | <div class="pd-20 "> |
| | | <div class="preface w100 fl al-end ju-cn"> |
| | | <h1 id="a003" class="front preface-text">åè¨</h1> |
| | |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 4 --> |
| | | <div class="page-box" page="5"> |
| | | <div v-if="showPageList.indexOf(5) > -1"> |
| | | <div class="mb-20" style="padding-right: 20px;"> |
| | | <div class="primary-bc fl al-end" style="height: 100px;padding-left: 40px;"> |
| | | <div class="preface-header-box y-bc"> |
| | |
| | | <span class="num-box">2</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 5 --> |
| | | <div class="page-box" page="6"> |
| | | <div v-if="showPageList.indexOf(6) > -1"> |
| | | <ul class="preface-odd-header w100 fl ju-bt"> |
| | | <li class="left primary-bc "></li> |
| | | <li> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "page-header", |
| | | props:{ |
| | | showPageList:{ |
| | | type:Array |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <div class="page-main" @scroll="throttledScrollHandler"> |
| | | <div class="page-content"> |
| | | <pageHeader ></pageHeader> |
| | | <chapterOne @saveCharacters="saveCharacters"></chapterOne> |
| | | <div |
| | | class="page-content" |
| | | :style="{ |
| | | fontSize: fontSize ? fontSize + 'px' : '16px', |
| | | transform: `scale(${pageZoom ? pageZoom : 1})`, |
| | | transformOrigin: 'center top', |
| | | }" |
| | | > |
| | | <pageHeader |
| | | v-if="showCatalogList.indexOf(1) > -1" |
| | | :showPageList="loadPageList" |
| | | ></pageHeader> |
| | | <chapterOne |
| | | @saveCharacters="saveCharacters" |
| | | v-if="showCatalogList.indexOf(2) > -1" |
| | | :showPageList="loadPageList" |
| | | ></chapterOne> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import pageHeader from './header.vue' |
| | | import chapterOne from './chapter001.vue' |
| | | import pageHeader from "./header.vue"; |
| | | import chapterOne from "./chapter001.vue"; |
| | | import NoteIcon from "@/assets/images/biji.png"; |
| | | import _ from "lodash"; |
| | | import Swiper from "swiper/bundle"; |
| | | import "swiper/swiper-bundle.css"; |
| | | import Viewer from "viewerjs"; |
| | | import "viewerjs/dist/viewer.css"; |
| | | export default { |
| | | name: "pageContent", |
| | | components:{pageHeader,chapterOne}, |
| | | data() { |
| | | return { |
| | | catalogLength: 2, // æ»ç« èæ° |
| | |
| | | previousScrollTop: 0, |
| | | throttledScrollHandler: null, |
| | | observer: null, |
| | | loadPageObserver: null, |
| | | loadPageList: [], |
| | | questionData: {}, |
| | | renderSignMap: {}, |
| | | }; |
| | | }, |
| | | computed: { |
| | | fontSize() { |
| | | return this.$store.state.qiankun.fontSize; |
| | | }, |
| | | pageZoom() { |
| | | return this.$store.state.qiankun.scale / 100; |
| | | }, |
| | | }, |
| | | watch: { |
| | | showCatalogList: { |
| | |
| | | // å¯å¨é¡µç è§å¯ |
| | | setTimeout(() => { |
| | | this.initObservation(); |
| | | this.initThemeColor(); |
| | | }, 500); |
| | | }, |
| | | }, |
| | | loadPageList: { |
| | | handler(newVal, oldVal) { |
| | | console.log(newVal, "this.loadPageList"); |
| | | setTimeout(() => { |
| | | this.initSwiper(); |
| | | this.initViewer(); |
| | | }, 200); |
| | | }, |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // é»è®¤å è½½ç« è |
| | | this.showCatalogList = [0, 1]; |
| | | this.showCatalogList = [1]; |
| | | // æ»å¨çå¬èæµ |
| | | this.throttledScrollHandler = _.throttle( |
| | | this.scrollFun, |
| | |
| | | }, |
| | | // 渲æç¬è®°ãé«äº®ãå线 |
| | | renderSign: (type, data) => { |
| | | this.renderSign(type, data); |
| | | // å ä¸ºè°æ´ä¸ºé¡µé¢æå è½½ï¼æä»¥æ¸²ææ è®°ä¹éè¦æç
§é¡µé¢è¿è¡å¤çï¼å
å¨åæ°æ®ï¼é¡µé¢å è½½å®æåæ¸²æå¯¹åºçæ è®°ï¼ |
| | | this.handelSignData(type, data); |
| | | // this.renderSign(type, data); |
| | | }, |
| | | // å é¤ç¬è®°ãé«äº®ãå线 |
| | | delSign: (data) => { |
| | |
| | | threshold: 0.5, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å
ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã |
| | | }); |
| | | |
| | | this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, { |
| | | root: null, // æå®æ ¹å
ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å
ç´ ã |
| | | rootMargin: "0px", // æå®æ ¹å
ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å
ç´ çè¾¹çåè§çªçè¾¹çéå |
| | | threshold: 0, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å
ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã |
| | | }); |
| | | |
| | | // å¯å¨é¡µç è§å¯ |
| | | setTimeout(() => { |
| | | this.initObservation(); |
| | | this.initThemeColor(); |
| | | }, 500); |
| | | |
| | | // æµè¯é¡µé¢è·³è½¬ |
| | | // setTimeout(() => { |
| | | // this.gotoPage(5, 100); |
| | | // this.gotoPage(1, 10); |
| | | // setTimeout(() => { |
| | | // this.renderSign("Note", { |
| | | // this.renderSign("Highlight", { |
| | | // id: "2ACA9359", |
| | | // txt: "è¥å
»ç´ åçéï¼æè½", |
| | | // page: "100", |
| | | // txt: "é¢ä¸å¦ä¹ 主é¢ä¸ è¿å¨", |
| | | // page: "10", |
| | | // type: "Highlight", |
| | | // color: "#F5E12A" |
| | | // }); |
| | |
| | | // ids: ["2ACA9359"] |
| | | // }); |
| | | // }, 2000); |
| | | // }, 5000); |
| | | // }, 1000); |
| | | // }, 3000); |
| | | }, |
| | | methods: { |
| | | // æ»å¨çå¬ |
| | |
| | | console.log("ç« èé误ï¼"); |
| | | } |
| | | }, |
| | | |
| | | // å¤çæ è®°æ°æ® |
| | | handelSignData(type, data) { |
| | | if (this.loadPageList.indexOf(Number(data.page)) > -1) { |
| | | // ç«å³æ¸²æ |
| | | this.renderSign(type, data); |
| | | } |
| | | // å¨åæ°æ® |
| | | if (!this.renderSignMap[type]) this.renderSignMap[type] = {}; |
| | | if (!this.renderSignMap[type][data.page]) |
| | | this.renderSignMap[type][data.page] = []; |
| | | this.renderSignMap[type][data.page].push(data); |
| | | }, |
| | | |
| | | // æ¸²ææ è®° |
| | | renderSign(type, data) { |
| | | const existence = ( |
| | |
| | | const pageDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelector(`[page="${data.page}"]`); |
| | | // å建 createTreeWalker è¿ä»£å¨ï¼ç¨äºéåææ¬èç¹ï¼ä¿åå°ä¸ä¸ªæ°ç» |
| | | const treeWalker = document.createTreeWalker( |
| | | pageDom, |
| | | NodeFilter.SHOW_TEXT |
| | | ); |
| | | const allTextNodes = []; |
| | | let currentNode = treeWalker.nextNode(); |
| | | while (currentNode) { |
| | | allTextNodes.push(currentNode); |
| | | currentNode = treeWalker.nextNode(); |
| | | } |
| | | for (let i = 0; i < allTextNodes.length; i++) { |
| | | const textDom = allTextNodes[i]; |
| | | if (textDom.textContent.indexOf(data.txt) > -1) { |
| | | let reg = new RegExp(`${data.txt}`, "ig"); |
| | | switch (type) { |
| | | case "Highlight": |
| | | // é«äº® |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | textDom.parentNode.innerHTML = |
| | | textDom.parentNode.innerHTML.replace( |
| | | reg, |
| | | `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>` |
| | | ); |
| | | break; |
| | | case "Dashing": |
| | | // å线 |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | textDom.parentNode.innerHTML = |
| | | textDom.parentNode.innerHTML.replace( |
| | | reg, |
| | | `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>` |
| | | ); |
| | | break; |
| | | case "Note": |
| | | // ç¬è®° |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | textDom.parentNode.innerHTML = |
| | | textDom.parentNode.innerHTML.replace( |
| | | reg, |
| | | `<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>` |
| | | `<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}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>` |
| | | ); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | const sections = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".page-box"); |
| | | //observer è§å¯æ¯ä¸ªå
ç´ ï¼ä»¥ä¾¿å¨å®ä»¬è¿å
¥æç¦»å¼è§çªæ¶è§¦ååè°å½æ°ã |
| | | sections.forEach((section) => { |
| | | if (this.config.activeBook && this.config.activeBook.tryPageCount) { |
| | | const page = section.getAttribute("page"); |
| | | if (Number(page) > this.config.activeBook.tryPageCount) { |
| | | let chapterDom = this.getParentWithClass(section, "chapter"); |
| | | const chapterNum = chapterDom.getAttribute("num"); |
| | | this.catalogLength = Number(chapterNum) - 1; |
| | | section.remove(); |
| | | return false; |
| | | } |
| | | } |
| | | // observer è§å¯æ¯ä¸ªå
ç´ ï¼ä»¥ä¾¿å¨å®ä»¬è¿å
¥æç¦»å¼è§çªæ¶è§¦ååè°å½æ°ã |
| | | const isObserver = section.getAttribute("observer"); |
| | | const isLoadObserver = section.getAttribute("loadObserver"); |
| | | if (!isObserver) { |
| | | this.observer.observe(section); |
| | | section.setAttribute("observer", "1"); |
| | | } |
| | | if (!isLoadObserver) { |
| | | this.loadPageObserver.observe(section); |
| | | section.setAttribute("loadObserver", "1"); |
| | | } |
| | | }); |
| | | }, |
| | | initThemeColor() { |
| | | // è·ååç§éè¦ä¸»é¢è²çèç¹ |
| | | const colorDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".theme-color"); |
| | | const backgroundColorDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".theme-back"); |
| | | const borderColorDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".theme-border"); |
| | | // è·åé
ç½®ç主é¢è² |
| | | const bookThemeColor = |
| | | this.config.activeBook && this.config.activeBook.bookThemeColor |
| | | ? this.config.activeBook.bookThemeColor |
| | | : null; |
| | | const chapterThemeColor = |
| | | this.config.activeBook && this.config.activeBook.chapterThemeColor |
| | | ? this.config.activeBook.chapterThemeColor |
| | | : null; |
| | | const pageThemeColor = |
| | | this.config.activeBook && this.config.activeBook.pageThemeColor |
| | | ? this.config.activeBook.pageThemeColor |
| | | : null; |
| | | colorDom.forEach((domItem) => { |
| | | // è·åç« èã页ç |
| | | let pageDom = this.getParentWithClass(domItem, "page-box"); |
| | | let chapterDom = this.getParentWithClass(domItem, "chapter"); |
| | | let page, chapterNum; |
| | | if (pageDom) page = pageDom.getAttribute("page"); |
| | | if (chapterDom) chapterNum = chapterDom.getAttribute("num"); |
| | | // åä¸å¹é
主é¢è² |
| | | const themeColor = |
| | | page && pageThemeColor && pageThemeColor[page] |
| | | ? pageThemeColor[page] |
| | | : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] |
| | | ? chapterThemeColor[chapterNum] |
| | | : bookThemeColor; |
| | | if (themeColor) { |
| | | domItem.style.color = themeColor; |
| | | } |
| | | }); |
| | | backgroundColorDom.forEach((domItem) => { |
| | | // è·åç« èã页ç |
| | | let pageDom = this.getParentWithClass(domItem, "page-box"); |
| | | let chapterDom = this.getParentWithClass(domItem, "chapter"); |
| | | let page, chapterNum; |
| | | if (pageDom) page = pageDom.getAttribute("page"); |
| | | if (chapterDom) chapterNum = chapterDom.getAttribute("num"); |
| | | // åä¸å¹é
主é¢è² |
| | | const themeColor = |
| | | page && pageThemeColor && pageThemeColor[page] |
| | | ? pageThemeColor[page] |
| | | : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] |
| | | ? chapterThemeColor[chapterNum] |
| | | : bookThemeColor; |
| | | if (themeColor) { |
| | | domItem.style.backgroundColor = themeColor; |
| | | } |
| | | }); |
| | | borderColorDom.forEach((domItem) => { |
| | | // è·åç« èã页ç |
| | | let pageDom = this.getParentWithClass(domItem, "page-box"); |
| | | let chapterDom = this.getParentWithClass(domItem, "chapter"); |
| | | let page, chapterNum; |
| | | if (pageDom) page = pageDom.getAttribute("page"); |
| | | if (chapterDom) chapterNum = chapterDom.getAttribute("num"); |
| | | // åä¸å¹é
主é¢è² |
| | | const themeColor = |
| | | page && pageThemeColor && pageThemeColor[page] |
| | | ? pageThemeColor[page] |
| | | : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] |
| | | ? chapterThemeColor[chapterNum] |
| | | : bookThemeColor; |
| | | if (themeColor) { |
| | | domItem.style.borderColor = themeColor; |
| | | } |
| | | }); |
| | | }, |
| | | getParentWithClass(element, className) { |
| | | while (element.parentElement) { |
| | | element = element.parentElement; |
| | | if (element.classList.contains(className)) { |
| | | return element; |
| | | } |
| | | } |
| | | }, |
| | | pageChangeCallback(entries, observer) { |
| | | //entriesï¼ä»£è¡¨è§å¯å°çç®æ å
ç´ çéåã observerï¼ä»£è¡¨è§å¯è
对象ã |
| | |
| | | "chapter" |
| | | ); |
| | | const catalog = catalogDom.getAttribute("num"); |
| | | console.log("page", page, catalog); |
| | | let text = null; |
| | | if (target.querySelector("p")) { |
| | | text = target.querySelector("p").textContent.substring(0, 20); |
| | | } |
| | | // è¿å页ç åç« èä¿¡æ¯ |
| | | if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) |
| | | this.$store.state.qiankun.pageChange({ |
| | | page: page, |
| | | catalog: catalog, |
| | | text, |
| | | }); |
| | | // const sections = Array.from(document.querySelectorAll(".section")); |
| | | //sectionsï¼è·åææå
·æ .section ç±»åçå
ç´ ï¼å¹¶è½¬æ¢ä¸ºæ°ç»ã |
| | |
| | | //indexï¼æ¥æ¾å½åç®æ å
ç´ å¨ sections æ°ç»ä¸çç´¢å¼ï¼å¹¶å 1ï¼ç¨äºç¡®å®å½å页ç ã |
| | | } |
| | | }); |
| | | }, |
| | | loadPageCallback(entries, observer) { |
| | | entries.forEach(async (entry) => { |
| | | if (entry.isIntersecting) { |
| | | const target = entry.target; |
| | | const page = target.getAttribute("page"); |
| | | if (this.loadPageList.indexOf(Number(page)) == -1) { |
| | | const catalogDom = this.tool.getParentNodeByClassName( |
| | | target, |
| | | "chapter" |
| | | ); |
| | | const catalog = catalogDom.getAttribute("num"); |
| | | // if (!this.questionData[page]) { |
| | | // if (testData && testData[catalog]) { |
| | | // if (testData[catalog][page]) { |
| | | // if (Array.isArray(testData[catalog][page])) { |
| | | // this.questionData[page] = await getQuestionList( |
| | | // page, |
| | | // testData[catalog][page], |
| | | // this.config.activeBook |
| | | // ); |
| | | |
| | | // } else { |
| | | // const obj = {}; |
| | | // for (let key in testData[catalog][page]) { |
| | | // obj[key] = await getQuestionList( |
| | | // [], |
| | | // testData[catalog][page][key], |
| | | // this.config.activeBook |
| | | // ); |
| | | // } |
| | | // this.questionData[page] = obj; |
| | | // } |
| | | // console.log('é¢ç®',this.questionData); |
| | | // } |
| | | // } |
| | | // } |
| | | // æ·»å 页ç |
| | | this.loadPageList.push(Number(page)); |
| | | // 渲æè¿ä¸é¡µçæ è®° |
| | | for (const key in this.renderSignMap) { |
| | | if (this.renderSignMap[key][page]) { |
| | | this.renderSignMap[key][page].forEach((item) => { |
| | | this.renderSign(key, item); |
| | | }); |
| | | } |
| | | } |
| | | if (this.loadPageList.length > 5) { |
| | | // è¶
è¿5页 |
| | | this.loadPageList.shift(); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | initSwiper() { |
| | | const doms = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".swiper-container"); |
| | | for (let i = 0; i < doms.length; i++) { |
| | | const dom = doms[i]; |
| | | new Swiper(dom, { |
| | | loop: false, // æ ç¼ |
| | | autoplay: { |
| | | //èªå¨å¼å§ |
| | | delay: 3000, //æ¶é´é´é |
| | | disableOnInteraction: false, //*æå¨æä½è½®æå¾åä¸ä¼æå* |
| | | }, |
| | | paginationClickable: true, |
| | | slidesPerView: 1, // ä¸ç»ä¸ä¸ª |
| | | spaceBetween: 30, // é´é |
| | | // 妿éè¦åè¿åéæé® |
| | | navigation: { |
| | | nextEl: (this.container ? this.container : document).querySelector( |
| | | ".swiper-button-next" |
| | | ), |
| | | prevEl: (this.container ? this.container : document).querySelector( |
| | | ".swiper-button-prev" |
| | | ), |
| | | }, |
| | | // çªå£åå,éæ°init,é对F11å
¨å±åæ¾å¤§ç¼©å°,å¿
é¡»å |
| | | observer: true, |
| | | observeParents: true, |
| | | // // 妿éè¦åé¡µå¨ |
| | | // pagination: { |
| | | // el: (this.container ? this.container : document).querySelector( |
| | | // ".swiper-pagination" |
| | | // ), |
| | | // clickable: true // å页å¨å¯ä»¥ç¹å» |
| | | // } |
| | | }); |
| | | } |
| | | }, |
| | | initViewer() { |
| | | const doms = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".openImgBox"); |
| | | for (let i = 0; i < doms.length; i++) { |
| | | const dom = doms[i]; |
| | | new Viewer(dom, { |
| | | container: this.container |
| | | ? this.container.querySelector("#app") |
| | | : "body", |
| | | navbar: true, // æ¾ç¤ºå¯¼èªæ |
| | | toolbar: true, // æ¾ç¤ºå·¥å
·æ |
| | | title: true, // æ¾ç¤ºæ é¢ |
| | | }); |
| | | } |
| | | }, |
| | | // ç¹å»äºä»¶ï¼å°çå»åè¯ä¼ ç» ä¸»åºç¨ ä»èè°ç¨è¯å
¸åè½ |
| | | saveCharacters(event,word) { |
| | |
| | | } |
| | | // chooseWords |
| | | } |
| | | |
| | | }, |
| | | components: { |
| | | pageHeader, |
| | | chapterOne, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | </span> |
| | | <examinations |
| | | v-if="testOne && questionData" |
| | | ref="examinationOne" |
| | | :chapter="1" |
| | | :page="10" |
| | | :cardList="questionData[10]" |
| | | /> |
| | | </div> |
| | |
| | | }, |
| | | loadPageList: { |
| | | handler(newVal, oldVal) { |
| | | console.log(newVal, "this.loadPageList"); |
| | | setTimeout(() => { |
| | | this.initSwiper(); |
| | | this.initViewer(); |
| | |
| | | |
| | | // å¤çæ è®°æ°æ® |
| | | handelSignData(type, data) { |
| | | if (this.loadPageList.indexOf(Number(data.page)) > -1) { |
| | | // ç«å³æ¸²æ |
| | | this.renderSign(type, data); |
| | | } |
| | | |
| | | // å¨åæ°æ® |
| | | if (!this.renderSignMap[type]) this.renderSignMap[type] = {}; |
| | | if (!this.renderSignMap[type][data.page]) |
| | | this.renderSignMap[type][data.page] = []; |
| | |
| | | testData[catalog][page], |
| | | this.config.activeBook |
| | | ); |
| | | |
| | | } else { |
| | | const obj = {}; |
| | | for (let key in testData[catalog][page]) { |
| | |
| | | } |
| | | this.questionData[page] = obj; |
| | | } |
| | | console.log('é¢ç®',this.questionData); |
| | | console.log("é¢ç®", this.questionData); |
| | | } |
| | | } |
| | | } |
| | |
| | | }, |
| | | // çªå£åå,éæ°init,é对F11å
¨å±åæ¾å¤§ç¼©å°,å¿
é¡»å |
| | | observer: true, |
| | | observeParents: true, |
| | | observeParents: true |
| | | // // 妿éè¦åé¡µå¨ |
| | | // pagination: { |
| | | // el: (this.container ? this.container : document).querySelector( |
| | |
| | | for (let i = 0; i < doms.length; i++) { |
| | | const dom = doms[i]; |
| | | new Viewer(dom, { |
| | | container: (this.container ? this.container.querySelector("#app") : "body"), |
| | | container: this.container |
| | | ? this.container.querySelector("#app") |
| | | : "body", |
| | | navbar: true, // æ¾ç¤ºå¯¼èªæ |
| | | toolbar: true, // æ¾ç¤ºå·¥å
·æ |
| | | title: true // æ¾ç¤ºæ é¢ |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <ul class="page-footer fl fl-cl al-cn w-mi p0 mb-40 padding-96"> |
| | | <li class="footer-num">8</li> |
| | |
| | | </p> |
| | | <div class="qrbodyPic"> |
| | | <div class="openImgBox"> |
| | | <img src="../../assets/images/img00021003.jpg" alt="" class="w100"> |
| | | <img style="width:70%" src="../../assets/images/img00021003.jpg" alt="" class="w100"> |
| | | </div> |
| | | <p class="imgdescript">å¾1-21ãéæ©TPCç±»å</p> |
| | | </div> |
| | |
| | | import Viewer from "viewerjs"; |
| | | import "viewerjs/dist/viewer.css"; |
| | | export default { |
| | | name: "pageContent", |
| | | components: { pageHeader, chapterOne }, |
| | | computed: { |
| | | fontSize() { |
| | | return this.$store.state.qiankun.fontSize; |
| | | }, |
| | | pageZoom() { |
| | | return this.$store.state.qiankun.scale / 100; |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | catalogLength: 2, // æ»ç« èæ° |
| | |
| | | loadPageObserver: null, |
| | | loadPageList: [], |
| | | questionData: {}, |
| | | testData: {}, |
| | | renderSignMap: {} |
| | | }; |
| | | }, |
| | | computed: { |
| | | fontSize() { |
| | | return this.$store.state.qiankun.fontSize; |
| | | }, |
| | | pageZoom() { |
| | | return this.$store.state.qiankun.scale / 100; |
| | | } |
| | | }, |
| | | watch: { |
| | | showCatalogList: { |
| | |
| | | ) { |
| | | // è°ç¨ç¶å±æ¹æ³ |
| | | this.$store.state.qiankun.catalogChange({ |
| | | showCatalogList: newVal, |
| | | showCatalogList: newVal |
| | | }); |
| | | } |
| | | // å¯å¨é¡µç è§å¯ |
| | |
| | | this.initObservation(); |
| | | this.initThemeColor(); |
| | | }, 500); |
| | | }, |
| | | } |
| | | }, |
| | | loadPageList: { |
| | | handler(newVal, oldVal) { |
| | | console.log(newVal, "this.loadPageList"); |
| | | setTimeout(() => { |
| | | this.initSwiper(); |
| | | this.initViewer(); |
| | | }, 200); |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | // é»è®¤å è½½ç« è |
| | |
| | | }, |
| | | // 渲æç¬è®°ãé«äº®ãå线 |
| | | renderSign: (type, data) => { |
| | | this.renderSign(type, data); |
| | | // å ä¸ºè°æ´ä¸ºé¡µé¢æå è½½ï¼æä»¥æ¸²ææ è®°ä¹éè¦æç
§é¡µé¢è¿è¡å¤çï¼å
å¨åæ°æ®ï¼é¡µé¢å è½½å®æåæ¸²æå¯¹åºçæ è®°ï¼ |
| | | this.handelSignData(type, data); |
| | | // this.renderSign(type, data); |
| | | }, |
| | | // å é¤ç¬è®°ãé«äº®ãå线 |
| | | delSign: (data) => { |
| | | this.delSign(data); |
| | | }, |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | this.observer = new IntersectionObserver(this.pageChangeCallback, { |
| | | root: null, // æå®æ ¹å
ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å
ç´ ã |
| | | rootMargin: "0px", // æå®æ ¹å
ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å
ç´ çè¾¹çåè§çªçè¾¹çéå |
| | | threshold: 0.5, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å
ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã |
| | | threshold: 0.5 // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å
ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã |
| | | }); |
| | | |
| | | this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, { |
| | | root: null, // æå®æ ¹å
ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å
ç´ ã |
| | | rootMargin: "0px", // æå®æ ¹å
ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å
ç´ çè¾¹çåè§çªçè¾¹çéå |
| | | threshold: 0, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å
ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã |
| | | threshold: 0 // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å
ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã |
| | | }); |
| | | |
| | | // å¯å¨é¡µç è§å¯ |
| | |
| | | |
| | | // æµè¯é¡µé¢è·³è½¬ |
| | | // setTimeout(() => { |
| | | // this.gotoPage(1, 11); |
| | | // // setTimeout(() => { |
| | | // // this.renderSign("Note", { |
| | | // // id: "2ACA9359", |
| | | // // txt: "è¥å
»ç´ åçéï¼æè½", |
| | | // // page: "100", |
| | | // // type: "Highlight", |
| | | // // color: "#F5E12A" |
| | | // // }); |
| | | // // setTimeout(() => { |
| | | // // this.delSign({ |
| | | // // ids: ["2ACA9359"] |
| | | // // }); |
| | | // // }, 2000); |
| | | // // }, 1000); |
| | | // this.gotoPage(1, 10); |
| | | // setTimeout(() => { |
| | | // this.renderSign("Highlight", { |
| | | // id: "2ACA9359", |
| | | // txt: "é¢ä¸å¦ä¹ 主é¢ä¸ è¿å¨", |
| | | // page: "10", |
| | | // type: "Highlight", |
| | | // color: "#F5E12A" |
| | | // }); |
| | | // setTimeout(() => { |
| | | // this.delSign({ |
| | | // ids: ["2ACA9359"] |
| | | // }); |
| | | // }, 2000); |
| | | // }, 5000); |
| | | // }, 1000); |
| | | }, |
| | | methods: { |
| | |
| | | this.showCatalogList = [ |
| | | this.catalogLength - 2, |
| | | this.catalogLength - 1, |
| | | this.catalogLength, |
| | | this.catalogLength |
| | | ]; |
| | | } else { |
| | | this.showCatalogList = [catalog - 1, catalog, catalog + 1]; |
| | |
| | | } |
| | | }, |
| | | |
| | | // å¤çæ è®°æ°æ® |
| | | handelSignData(type, data) { |
| | | if (this.loadPageList.indexOf(Number(data.page)) > -1) { |
| | | // ç«å³æ¸²æ |
| | | this.renderSign(type, data); |
| | | } |
| | | // å¨åæ°æ® |
| | | if (!this.renderSignMap[type]) this.renderSignMap[type] = {}; |
| | | if (!this.renderSignMap[type][data.page]) |
| | | this.renderSignMap[type][data.page] = []; |
| | | this.renderSignMap[type][data.page].push(data); |
| | | }, |
| | | |
| | | // æ¸²ææ è®° |
| | | renderSign(type, data) { |
| | | const existence = ( |
| | |
| | | const pageDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelector(`[page="${data.page}"]`); |
| | | // å建 createTreeWalker è¿ä»£å¨ï¼ç¨äºéåææ¬èç¹ï¼ä¿åå°ä¸ä¸ªæ°ç» |
| | | const treeWalker = document.createTreeWalker( |
| | | pageDom, |
| | | NodeFilter.SHOW_TEXT |
| | | ); |
| | | const allTextNodes = []; |
| | | let currentNode = treeWalker.nextNode(); |
| | | while (currentNode) { |
| | | allTextNodes.push(currentNode); |
| | | currentNode = treeWalker.nextNode(); |
| | | } |
| | | for (let i = 0; i < allTextNodes.length; i++) { |
| | | const textDom = allTextNodes[i]; |
| | | if (textDom.textContent.indexOf(data.txt) > -1) { |
| | | let reg = new RegExp(`${data.txt}`, "ig"); |
| | | switch (type) { |
| | | case "Highlight": |
| | | // é«äº® |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | textDom.parentNode.innerHTML = |
| | | textDom.parentNode.innerHTML.replace( |
| | | reg, |
| | | `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>` |
| | | ); |
| | | break; |
| | | case "Dashing": |
| | | // å线 |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | textDom.parentNode.innerHTML = |
| | | textDom.parentNode.innerHTML.replace( |
| | | reg, |
| | | `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>` |
| | | ); |
| | | break; |
| | | case "Note": |
| | | // ç¬è®° |
| | | pageDom.innerHTML = pageDom.innerHTML.replace( |
| | | textDom.parentNode.innerHTML = |
| | | textDom.parentNode.innerHTML.replace( |
| | | reg, |
| | | `<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}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>` |
| | | ); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | "chapter" |
| | | ); |
| | | const catalog = catalogDom.getAttribute("num"); |
| | | console.log(page, "page", catalog, "catalog"); |
| | | let text = null; |
| | | if (target.querySelector("p")) { |
| | | console.log(target.querySelector("p").textContent.substring(0, 20)); |
| | | text = target.querySelector("p").textContent.substring(0, 20); |
| | | } |
| | | // è¿å页ç åç« èä¿¡æ¯ |
| | |
| | | this.$store.state.qiankun.pageChange({ |
| | | page: page, |
| | | catalog: catalog, |
| | | text, |
| | | text |
| | | }); |
| | | // const sections = Array.from(document.querySelectorAll(".section")); |
| | | //sectionsï¼è·åææå
·æ .section ç±»åçå
ç´ ï¼å¹¶è½¬æ¢ä¸ºæ°ç»ã |
| | |
| | | if (entry.isIntersecting) { |
| | | const target = entry.target; |
| | | const page = target.getAttribute("page"); |
| | | if (this.loadPageList.indexOf(page) == -1) { |
| | | // |
| | | if (this.loadPageList.indexOf(Number(page)) == -1) { |
| | | const catalogDom = this.tool.getParentNodeByClassName( |
| | | target, |
| | | "chapter" |
| | |
| | | // testData[catalog][page], |
| | | // this.config.activeBook |
| | | // ); |
| | | |
| | | // } else { |
| | | // const obj = {}; |
| | | // for (let key in testData[catalog][page]) { |
| | |
| | | // } |
| | | // this.questionData[page] = obj; |
| | | // } |
| | | // console.log('é¢ç®',this.questionData); |
| | | // } |
| | | // } |
| | | // } |
| | | // æ·»å 页ç |
| | | this.loadPageList.push(Number(page)); |
| | | console.log('页ç å表',this.loadPageList); |
| | | // 渲æè¿ä¸é¡µçæ è®° |
| | | for (const key in this.renderSignMap) { |
| | | if (this.renderSignMap[key][page]) { |
| | | this.renderSignMap[key][page].forEach((item) => { |
| | | this.renderSign(key, item); |
| | | }); |
| | | } |
| | | } |
| | | if (this.loadPageList.length > 5) { |
| | | // è¶
è¿5页 |
| | | this.loadPageList.shift(); |
| | |
| | | autoplay: { |
| | | //èªå¨å¼å§ |
| | | delay: 3000, //æ¶é´é´é |
| | | disableOnInteraction: false, //*æå¨æä½è½®æå¾åä¸ä¼æå* |
| | | disableOnInteraction: false //*æå¨æä½è½®æå¾åä¸ä¼æå* |
| | | }, |
| | | paginationClickable: true, |
| | | slidesPerView: 1, // ä¸ç»ä¸ä¸ª |
| | | spaceBetween: 30, // é´é |
| | | // 妿éè¦åè¿åéæé® |
| | | navigation: { |
| | | nextEl: ".swiper-button-next", |
| | | prevEl: ".swiper-button-prev", |
| | | nextEl: (this.container ? this.container : document).querySelector( |
| | | ".swiper-button-next" |
| | | ), |
| | | prevEl: (this.container ? this.container : document).querySelector( |
| | | ".swiper-button-prev" |
| | | ) |
| | | }, |
| | | // çªå£åå,éæ°init,é对F11å
¨å±åæ¾å¤§ç¼©å°,å¿
é¡»å |
| | | observer: true, |
| | | observeParents: true, |
| | | // // 妿éè¦åé¡µå¨ |
| | | // pagination: { |
| | | // el: ".swiper-pagination", |
| | | // el: (this.container ? this.container : document).querySelector( |
| | | // ".swiper-pagination" |
| | | // ), |
| | | // clickable: true // å页å¨å¯ä»¥ç¹å» |
| | | // } |
| | | }); |
| | |
| | | for (let i = 0; i < doms.length; i++) { |
| | | const dom = doms[i]; |
| | | new Viewer(dom, { |
| | | container: (this.container ? this.container.querySelector("#app") : "body"), |
| | | navbar: true, // æ¾ç¤ºå¯¼èªæ |
| | | toolbar: true, // æ¾ç¤ºå·¥å
·æ |
| | | title: true, // æ¾ç¤ºæ é¢ |
| | | title: true // æ¾ç¤ºæ é¢ |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | components: { |
| | | pageHeader, |
| | | chapterOne, |
| | | } |
| | | }; |
| | | </script> |
| | | <style scoped lang="less"> |
| | |
| | | cardData:[] |
| | | }; |
| | | }, |
| | | watch:{ |
| | | cardList:{ |
| | | handler(newVal) { |
| | | console.log('11',newVal); |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.cardData = this.cardList |
| | | console.log('this.cardList',this.cardList); |