记录--一个好用的轮子 turn.js 实现仿真翻书的效果

news2024/9/24 3:29:15

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

国际惯例,官网链接

官网传送门

Github地址

github上有几个demos例子,介绍了基础用法。

 我参考官网的例子,写了一个demo示例

安装

turn.js 依赖 jquery 库,所以需要先安装 jquery

npm install jquery --save

引入

import $ from 'jquery'
import turn from '@/utils/turn.js'

下载 turn.js 文件,然后在组件中引入

import turn from "@/utils/turn.js";

vue.config.js 配置

const webpack = require('webpack');
module.exports = {
    lintOnSave: false,
    //配置webpack选项的内容
    configureWebpack: {
        plugins: [
            new webpack.ProvidePlugin({
                $: "jquery",
                jQuery: "jquery",
            })
        ]
    },
 
}
 或者,这样:
const webpack = require('webpack')
module.exports = {
  chainWebpack: config => {
    config.plugin('provide').use(webpack.ProvidePlugin, [{
      $: 'jquery',
      jquery: 'jquery',
      jQuery: 'jquery',
      'window.jQuery': 'jquery'
    }])
  }
}

翻页方法,以及参数

  $("#book").turn({
      //启用硬件加速,移动端有效
      acceleration: false,
      //显示:single=单页,double=双页,默认双页
      display: "double",
      // 翻页撒开鼠标,页面的延迟
      duration: 800,
      // 默认显示第几页
      page: 1,
      // 折叠处的光泽渐变,主要体现翻页的立体感、真实感
      gradients: true,
      // 中心翻取决于有多少页面可见 true or false
      autoCenter: true,
      // 设置可翻页的页角(都试过了,乱写 4个角都能出发卷起), bl,br   tl,tr   bl,tr
      turnCorners: "bl,br",
      //页面高度
      height: this.turnPage.height,
      //翻书范围宽度,总宽度
      width: this.turnPage.width,
      when: {
          //监听事件
          turning: function (e, page, view) {
              console.log("翻页前触发");
              console.log(e, page, view);
              // 翻页前触发
              console.log(page);
          },
          turned: function (e, page) {
              console.log("翻页后触发");
              console.log(e, page);
              // 翻页后触发
              console.log(page);
          },
      },
  });

上一页

$("#book").turn("previous");

下一页

$("#book").turn("next");

示例代码

完整代码,已经放到 Gitee 上面了,组件名为 TurnjsComponent

Gitee地址

本文转载于:

https://juejin.cn/post/7254443448564006967

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++设计模式之建造者设计模式

C建造者设计模式 什么是建造者设计模式 建造者设计模式是一种创建型设计模式,它是一种将复杂对象的分解为多个独立部分的模式,以便于构建对象的过程可以被抽象出来并独立变化。 该模式有什么优缺点 优点 灵活性:建造者设计模式允许对象的…

Nacos1.4.1集群——服务注册失败的原因

前言: 学习nacos的时候碰到的问题 当你单击启动的时候不会出现问题 命令: 单击: startup.cmd -m standalone 集群: startup.cmd -m cluster 当时当你启动集群的时候他会默认把你本地的ipv6那个地址默认放上出 会导致你本来搭建集群…

牛客网Verilog刷题——VL56

牛客网Verilog刷题——VL56 题目答案 题目 实现4bit无符号数流水线乘法器设计。电路的接口如下图所示: 输入输出描述: 信号类型输入/输出位宽描述clkwireInput1系统时钟信号rst_nwireInput1异步复位信号,低电平有效mul_awireInputsize乘数mu…

【动态规划part16】| 583.两个字符串的删除操作、72.编辑距离

🎈LeetCode583.两个字符串的删除操作 链接:583.两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 public int minDistance(String word1, Str…

基于Amoeba读写分离(三十六)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 今天要学的是基于Amoeba读写分离。Amoeba是一个开源的关系型数据库管理系统&#xf…

计网第四章网络层错题

4.1 没有要求结点要相邻,可不可靠主要取决于使用的协议,若使用有连接的 就可靠 2.C 本题易误选B 因为大家以为只能用ipv4 但是有特定的路由器可以连接IPv4和IPv6,所以网络层的协议也可以不同 C 路由器无法处理比网络层更高层次的数据 所以…

Redis集群Cluster搭建

Redis集群Cluster搭建 集群框架1、下载redis2.创建Cluster文件3.修改redis配置文件4.启动redis5.链接各个redis6.分配槽位7.添加从机节点(备份Redis)8.以集群方式登录9.使用开源Redis可视化客户端链接 集群框架 三个集群节点,每个节点有个副本…

Ubuntu安装MySQL 8.0与Navicat

目录 Ubuntu安装MySQL 8.0 1、更新软件包列表 2、安装 MySQL 8.0 3、启动 MySQL 服务 5、确保MySQL服务器正在运行 5、root 用户的密码 6、登录MySQL,输入mysql密码 7、MySQL默认位置 Ubuntu安装Navicat 1、下载 Navicat 2、额外的软件包 3、执行命令 U…

IDEA离线环境搭建远程开发-Windows

公司的云桌面实在太卡,多个微服务项目跑起来,直接无法进行其它编码工作,所以想到使用Idea提供的远程开发功能,将服务运行在服务器,电脑只提供给开发页面展示,提高效率。 环境介绍: 开发环境&…

python——案例六:清空列表用clear()方法实现

案例六:清空列表用clear()方法实现LIST[0,1,2,3,4,5] print(清空前:,LIST) LIST.clear() print(清空后:,LIST)

Carsim的基本功能介绍

Carsim 是一款汽车动力学模拟软件,它可以模拟车辆在路面上的运动和行驶行为,支持用户进行不同情况下的测试和研究。以下小师弟所了解的Carsim最基础的使用方法: 安装 Carsim 软件并打开。 Carsim是一个比较简单容易上手的软件,打…

保姆级教程,Linux服务器docker搭建jenkins持续集成一键部署SpringBoot项目(Gradle)

前言: 在后台项目开发过程从Java延伸到Kotlin开发,从maven pom到gradle,IDEA新项目SpringBoot init框架官方推荐kotlingradle,本章以此为jenkins持续集成做项目部署,服务器为Centos,JDK 17,Spr…

各种运算符

算术运算符 1.双目运算符 */%:从左到右优先级依次降低 一些注意事项: 1若a/b都为整型那么结果也为整型,如果ab其中有一个为实型,结果则为实型 求余运算符注意事项: 1运算对象必须为整数 2运算结果的整数跟左边数字的…

Go项目实现日志按时间及文件大小切割并压缩

关于日志的一些问题: 单个文件过大会影响写入效率,所以会做拆分,但是到多大拆分? 最多保留几个日志文件?最多保留多少天,要不要做压缩处理? 一般都使用 lumberjack[1]这个库完成上述这些操作 lumberjack //info文件wr…

linux用户密码存放在哪个文件

linux用户密码存放在“/etc/shadow”文件中。“/etc/shadow”文件又称为“影子文件”,用于存储Linux系统中用户的密码信息;该文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。 本教程操作环境&am…

IOS看书最终选择|源阅读转换|开源阅读|IOS自签

环境:IOS想使用 换源阅读 问题:换新手机,源阅读下架后,没有好的APP阅读小说 解决办法:自签APP 转换源仓库书源 最终预览 :https://rc.real9.cn/ 背景:自从我换了新iPhone手机,就无法…

iOS 搭建组件化私有库

一、创建私有库索引 步骤1是在没有索引库的情况下或者是新增索引的时候才需要用到(创建基础组件库) 首先在码云上建立一个私有库索引,起名为SYComponentSpec 二、本地添加私有库索引 添加私有库索引 pod repo add SYComponentSpec https:/…

fiddler 手机抓包(含https) 完整流程

第一部分:下载并安装fiddler 一.使用任一浏览器搜索【fiddler下载安装】,并下载fiddler 安装包。 二.fiddler安装包下载成功后,将下载的fiddler压缩包解压到自定义文件夹【fiddler】或者解压到当前文件夹下,双击文件夹中的【fidd…

工作记录------单元测试(持续更新)

工作记录------单元测试 之前的工作中从来没有写过单元测试&#xff0c;新入职公司要求写单元测试&#xff0c; 个人觉得&#xff0c;作为程序员单元测试还是必须会写的 于此记录一下首次编写单元测试的过程。 首先引入单元测试相关的依赖 <dependency><groupId>…

二、数据结构7:KMP 模板题+算法模板(KMP字符串)

文章目录 算法模板KMP题目模板 模板题KMP字符串原题链接题目思路题解 算法模板 KMP题目模板 // s[]是长文本&#xff0c;p[]是模式串&#xff0c;n是s的长度&#xff0c;m是p的长度 求模式串的Next数组&#xff1a; for (int i 2, j 0; i < m; i ) {while (j &&…