为了账号安全,请及时绑定邮箱和手机立即绑定
  • 课程总结。。

    查看全部
    0 采集 收起 来源:课程总结

    2018-10-15

  • transition动画原理图

    查看全部
  • transition动画原理

    查看全部
  • epubjs的核心工作原理解析

    查看全部
  • viewport 配置

    查看全部
    0 采集 收起 来源:viewport配置

    2018-10-12

  • 教程环境版本:

    node:8.9.0

    npm:5.5.1

    vue:2.9.3

    查看全部
  • 开发准备,搭建Vue脚手架

    查看全部
  • 阅读器开发流程

    查看全部
  • 电子书工作原理

    查看全部
  • 涉及的知识点

    查看全部
  • 继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记继续笔记笔记

    https://img1.sycdn.imooc.com//5bbd578b0001ff1606650209.jpg

    查看全部
  • 开发流程这里不是太明白

    查看全部
  • <template>

       <div class='ebook'>

           <transition name="slide-down">

               <div class="title-wrapper" v-show="ifTitleAndMenuShow">

                   <div class="left">

                       <span class="icon-back icon"></span>

                   </div>

                   <div class="right">

                       <div class="icon-wrapper">

                           <span class="icon-cart icon"></span>

                       </div>

                       <div class="icon-wrapper">

                           <span class="icon-person icon"></span>

                       </div>

                       <div class="icon-wrapper">

                           <span class="icon-more icon"></span>

                       </div>

                   </div>

               </div>

           </transition>

           <div class="read-wrapper">

               <div id="read">

                   <div class="mask">

                       <div class="left" @click="prevPage"></div>

                       <div class="center" @click="toggleTitleAndMenuShow"></div>

                       <div class="right" @click="nextPage"></div>

                   </div>

               </div>

           </div>

           <transition name='slide-up'>

               <div class="menu-wrapper" v-show="ifTitleAndMenuShow">

                   <div class="icon-wrapper">

                       <span class="icon-menu icon"></span>

                   </div>

                   <div class="icon-wrapper">

                       <span class="icon-progress icon"></span>

                   </div>

                   <div class="icon-wrapper">

                       <span class="icon-bright icon"></span>

                   </div>

                   <div class="icon-wrapper">

                       <span class="icon-a icon">A</span>

                   </div>

               </div>

           </transition>

       </div>

    </template>


    <script>

    import Epub from "epubjs";

    const DOWNLOAD_URL = "/static/2018_Book_AgileProcessesInSoftwareEngine.epub";

    global.ePub = Epub;

    export default {

     data() {

       return {

         ifTitleAndMenuShow: false

       };

     },

     methods: {

       toggleTitleAndMenuShow() {

         this.ifTitleAndMenuShow = !this.ifTitleAndMenuShow;

       },

       prevPage() {

         if (this.rendition) {

           this.rendition.prev();

         }

       },

       nextPage() {

         if (this.rendition) {

           this.rendition.next();

         }

       },

       //电子书解析和渲染

       showEpub() {

         //生存Book

         this.book = new Epub(DOWNLOAD_URL);

         //生成Rendition

         this.rendition = this.book.renderTo("read", {

           width: window.innerWidth,

           height: window.innerHeight

         });

         //通过Rendition.display渲染电子书

         this.rendition.display();

       }

     },

     mounted() {

       this.showEpub();

     }

    };

    </script>

    <style lang='scss' scoped>

    @import "assets/styles/global";


    .ebook {

     position: relative;

     .title-wrapper {

       position: absolute;

       top: 0;

       left: 0;

       z-index: 101;

       display: flex;

       width: 100%;

       height: px2rem(48);

       background: white;

       box-shadow: 0 px2rem(8) px2rem(8) rgba(0, 0, 0, 0.15);

       .left {

         flex: 0 0 px2rem(60);

         @include center;

       }

       .right {

         flex: 1;

         display: flex;

         justify-content: flex-end;

         .icon-wrapper {

           @include center;

           flex: 0 0 px2rem(40);

           .icon-cart {

             font-size: px2rem(22);

           }

         }

       }

     }

     .read-wrapper {

       .mask {

         position: absolute;

         top: 0;

         left: 0;

         z-index: 100;

         display: flex;

         width: 100%;

         height: 100%;

         .left {

           flex: 0 0 px2rem(100);

         }

         .center {

           flex: 1;

         }

         .right {

           flex: 0 0 px2rem(100);

         }

       }

     }


     .menu-wrapper {

       position: absolute;

       bottom: 0;

       left: 0;

       z-index: 101;

       display: flex;

       width: 100%;

       height: px2rem(48);

       background: white;

       box-shadow: 0 px2rem(-8) px2rem(8) rgba(0, 0, 0, 0.15);

       .icon-wrapper {

         flex: 1;

         @include center;

         .icon-progress {

           font-size: px2rem(28);

         }

         .icon-bright {

           font-size: px2rem(24);

         }

       }

     }

    }

    </style>








    .slide-up-center,

    .slide-up-leave-to {

       transform: translate3d(0, 100%, 0);

    }


    .slide-down-enter-to,

    .slide-down-leave,

    .slide-up-center-to,

    .slide-up-leave {

       transform: translate3d(0, 0, 0);

    }


    .slide-down-enter-active,

    .slide-down-leave-active

    .slide-up-center-active,

    .slide-up-leave-to-active {

       transform: all 0.3s linear;

    }


    .slide-down-enter,

    .slide-down-leave-to {

       transform: translate3d(0, -100%, 0);

    }


    查看全部
  • this.navigation = this.book.navigation


    查看全部
    0 采集 收起 来源:目录功能实现

    2018-09-23

  • // 初始化 epubjs 的 location 对象
    this.book.ready.then(() => {    
      return this.book.loacations.generate()
    }).then(res => { 
     console.log(res)
     this.locations = this.book.loacations
    })
    
    //  生成 epubjs 的 location 的 方法
    this.locations.cfiFromPercentage(percentage)


    查看全部

举报

0/150
提交
取消
课程须知
1.阅读器的工作原理 2.ePub的工作原理 3.阅读器引擎epub.js的应用 4.Vue.js的基本应用和过渡动画实现 5.阅读器的基本功能实现方法
老师告诉你能学到什么?
本课程是Vue.js的中级课程,适合前端刚入门或有一定基础的同学进行学习,同时本课程包含大量阅读器方面的专业知识,适合想了解阅读器实现原理的同学学习

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!