采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
调试的时候才发现有些电子书分页会出现上图的情况,有些又是正常分页,一直找不到原因,能麻烦老师帮调试一下吗,地址https://github.com/HenryNer/firstWrapper
下面是修改后的
hi,这个问题涉及到分页算法,因为课时有限,所以没有穷举所有的翻页算法,会出现上述问题的原因是因为navigation获取的目录名称和通过locations获取的目录名称不一致导致,解决方法如下:
修改EbookReader.vue 238行,替换为如下代码,改动部分已经注释:
locations.forEach(item => { const loc = item.match(/\[(.*)]!/)[1] this.navigation.forEach(nav => { if (nav.href) { // 兼容xhtml的文件的场景,优化了正则表达式 let href = nav.href.match(/\/(.*)\.xhtml$/) // 如果没有匹配到,则再使用html正则进行匹配 if (!href) { href = nav.href.match(/^(.*)\.html$/) } if (href) { // loc只要包含href[1]中的内容,则认为包含在该目录下 if (loc.indexOf(href[1]) >= 0) { nav.pagelist.push(item) } } } }) let currentPage = 1 this.navigation.forEach((nav, index) => { if (index === 0) { nav.page = 1 } else { nav.page = currentPage } currentPage += nav.pagelist.length + 1 }) })
老师你好,我按照上面优化后发现第一页跟第二页相差几千页,修改后的图发在上面了
额,算法还有优化点,晚点我再看下
登录后可查看更多问答,登录/注册
Vue全家桶+最新前端技术+前后端分离架构,完整项目流程
2.1k 12
3.5k 10
1.9k 3
1.5k 24
1.4k 23