聊聊 vue2.x + turn.js 如何实现翻书效果

 4184

vue2.x + turn.js 如何实现翻书效果?下面本篇文章给大家介绍一下在vue2.x 中使用turn.js并实现翻书效果的方法,希望对大家有所帮助。


聊聊 vue2.x + turn.js 如何实现翻书效果

vue中使用turn.js

效果先览:


聊聊 vue2.x + turn.js 如何实现翻书效果


官方网站下载源码:http://turnjs.com/


聊聊 vue2.x + turn.js 如何实现翻书效果


找到里面的文件 lib/turn.js


聊聊 vue2.x + turn.js 如何实现翻书效果


放到新建的utils文件里面


聊聊 vue2.x + turn.js 如何实现翻书效果


Turn.js是使用了jquery书写的,使用vue中要引入jquery

  1. npm install --save jquery

新建vue.config.js配置文件

  1. const webpack = require('webpack')
  2. module.exports = {
  3.     chainWebpack: config => {
  4.         //引入ProvidePlugin
  5.         config.plugin("provide").use(webpack.ProvidePlugin, [{
  6.             $: "jquery",
  7.             jquery: "jquery",
  8.             jQuery: "jquery",
  9.             "window.jQuery": "jquery",
  10.         }, ]);
  11.     },
  12. }

我把官方文件引入到本地图片文件使用


聊聊 vue2.x + turn.js 如何实现翻书效果


查看文件的像素,在设置宽高的时候width是2倍 height不变。


聊聊 vue2.x + turn.js 如何实现翻书效果


使用vue文件内容

  1. <template>
  2.   <div>
  3.     <div>
  4.       <div id="flipbook">
  5.           <div v-for="(item) in imgUrl" :key="item.index"
  6.           :style="`
  7.           background:url(${item.imgurl}) no-repeat 100% 100%
  8.            
  9.           `"
  10.           >
  11.           </div>
  12.       </div>
  13.     </div>
  14.   </div>
  15.  
  16.  
  17. </template>
  18.  
  19. <script>
  20. //turn.js
  21. import turn from '../utils/turn.js'
  22.  
  23. export default {
  24.   name: 'Home',
  25.   data(){
  26.     return{
  27.         imgUrl:[
  28.           {imgurl:'image/1.jpg',index:1},
  29.           {imgurl:'image/2.jpg',index:2},
  30.           {imgurl:'image/3.jpg',index:3},
  31.           {imgurl:'image/4.jpg',index:4},
  32.           {imgurl:'image/5.jpg',index:5},
  33.           {imgurl:'image/6.jpg',index:6},
  34.           {imgurl:'image/7.jpg',index:7},
  35.           {imgurl:'image/8.jpg',index:8},
  36.           {imgurl:'image/9.jpg',index:9},
  37.           {imgurl:'image/10.jpg',index:10},
  38.           {imgurl:'image/11.jpg',index:11},
  39.           {imgurl:'image/12.jpg',index:12},
  40.         ]
  41.     }
  42.   },
  43.   methods:{
  44.       onTurn(){
  45.         this.$nextTick(()=>{
  46.         $("#flipbook").turn({
  47.         autoCenter: true,
  48.         height:646,
  49.         width:996,
  50.         });
  51.         })
  52.      
  53.       }
  54.   },
  55.   mounted(){
  56.    this.onTurn();
  57.   }
  58. }
  59. </script>
  60. <style>
  61.   *{
  62.     margin: 0;
  63.     padding: 0;
  64.   }
  65.   .home{
  66.     width: 100vw;
  67.     height: 100vh;
  68.     .turnClass{
  69.       display: flex;
  70.       margin: 0px auto;
  71.       width: 996px;
  72.       height: 646px;
  73.       padding: calc((100vh - 646px)/2) 0;
  74.       overflow: hidden;
  75.     }
  76.   }
  77. </style>


效果图片:


聊聊 vue2.x + turn.js 如何实现翻书效果

本文网址:https://www.zztuku.com/index.php/detail-10786.html
站长图库 - 聊聊 vue2.x + turn.js 如何实现翻书效果
申明:本文转载于《掘金社区》,如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐