記錄--一個好用的輪子 turn.js 實現模擬翻書的效果

来源:https://www.cnblogs.com/smileZAZ/archive/2023/07/31/17594104.html
-Advertisement-
Play Games

這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 國際慣例,官網鏈接 官網傳送門 Github地址 github上有幾個demos例子,介紹了基礎用法。 我參考官網的例子,寫了一個demo示例 安裝 turn.js 依賴 jquery 庫,所以需要先安裝 jquery npm insta ...


這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助

國際慣例,官網鏈接

官網傳送門

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

如果對您有所幫助,歡迎您點個關註,我會定時更新技術文檔,大家一起討論學習,一起進步。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 近年來,隨著雲計算、大數據等新一代信息技術的飛速發展,水務治理迎來智慧化新時代。藉助新一代信息技術打破傳統水務系統的信息孤島,實現數據共用,增強水務全流程監管能力,實現水務的智慧服務、高效運營和安全穩定,成為水務治理新的發力點。 ...
  • --建表語句IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'MENU_INFO') DROP TABLE MENU_INFO;CREATE TABLE MENU_INFO(MENU_ID ...
  • 競速榜是大促期間各採銷群提供的基於京東實時銷售數據的排行榜,同樣應對大促流量洪峰場景,通過榜單撬動品牌在京東增加資源投入。競速榜基於用戶配置規則進行實時數據計算,榜單排名在大促期間實時變化,相關排名數據在微博、朋友圈廣泛傳播,相關計算以及排名的準確性至關重要。 ...
  • 開心一刻 今天女朋友很生氣 女朋友:我發現你們男的,都挺單純的 我:這話怎麼說 女朋友:腦袋裡就只想三件事,搞錢,跟誰喝點,還有這娘們真好看 我:你錯了,其實我們男人吧,每天只合計一件事 女朋友:啥事呀? 我:這娘們真好看,得搞錢跟她喝點 問題復現 需求背景 MySQL8.0.30 ,隔離級別是預設 ...
  • 本次更新主要適配移動端卡號查詢、智能診斷、用量記錄、批量業務辦理、會話記錄功能實現。 www.iotos.top 文檔頁面網站源代碼已開源,感興趣的可用於搭建簡單文檔網站等,vue、markdown、html 語法適配。 文檔網站源碼地址: https://gitee.com/chin... ...
  • # Flutter 升級 Gradle 和 Gradle Plugin 目前 Flutter3.0 預設的 Gradle 版本是 7.5,當然也有可能會更早一些。有時候因為某些需求要升級 Gradle 到新版本。本文以升級到 8.2.1 版本舉例,會講述 Flutter 項目中升級 Gradle 和 ...
  • # Flutter 中使用 rtsp 協議 在 Flutter 中可以集成 VLC 播放器通過 rtsp 協議連接到監控相機來實現遠程監控,當然也可以用來做直播 APP。 ## 使用 flutter_vlc_player 庫 擴展包地址[點我跳轉](https://pub.dev/packages/ ...
  • 好家伙,搬磚 今天在做組件遷移(從一個舊平臺遷移到一個新平臺)的時候,發現了一些小小的問題: 1.錯誤描述: 在穿梭框組件中,使用"節點配置"方法添加數據的時候,左測數據選擇框直接消失了 這裡我們猜測一下,大概是數據處理出了問題 此處,我們使用"數據綁定"綁定數據方法: 定義數據: 綁定數據 2.錯 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...