Turn.js中文教程

一、什麼是Turn.js

Turn.js是一款JavaScript庫,可用於創建現實世界中雜誌或冊子的3D翻頁效果。它支持多種功能,包括自動翻頁、響應式布局、縮略圖、鍵盤和滑鼠控制等。這個庫允許你為你的Web應用程序添加光鮮亮麗的動態頁面,讓用戶能夠享受更加互動式的內容瀏覽體驗。

下面是一個最基本的使用示例:

<!DOCTYPE html>
<html>
<head>
  <title>Turn.js Example</title>
  <!-- 引入Turn.js庫 -->
  <script src="turn.min.js"></script>
  <link rel="stylesheet" type="text/css" href="basic.css">
</head>
<body>
  <div class="magazine">
    <div class="turn-page" data-placeholder="Page 1"></div>
    <div class="turn-page" data-placeholder="Page 2"></div>
    <div class="turn-page" data-placeholder="Page 3"></div>
    <div class="turn-page" data-placeholder="Page 4"></div>
  </div>
  <script>
    $('.magazine').turn();
  </script>
</body>
</html>

在上述示例中,我們將一個名為’magazine’的DIV元素標記為翻頁容器,包含四個名為turn-page的子DIV。’data-placeholder’屬性代表了翻頁內容的替換文本,而每個翻頁內容將在用戶進行頁面翻轉時動態載入。 .turn()方法初始化Turn.js,啟用翻頁效果。

二、如何實現自動翻頁

Turn.js允許你為頁面設置自動翻頁。要啟用自動翻頁,你可以使用「auto」選項,它指定頁面在多長時間後自動翻轉到下一頁。以下是如何設置自動翻頁的示例代碼:

$('.magazine').turn({
    //設置每5秒自動翻頁                  
    auto: 5000
});

三、縮略圖

Turn.js中內置了縮略圖功能,這使得用戶可以輕鬆瀏覽包含大量頁面的雜誌或冊子。以下示例代碼演示了如何添加縮略圖:

$('.magazine').turn({
    //將縮略圖添加到頁面上
    display: 'double',
    acceleration: true,
    gradients: true,
    elevation:50,
    when: {
      turned: function(e, page) {
        // 更新縮略圖當前顯示的頁面
        $('#slider').slider('value', page);
      }
    }
});

四、滑鼠和鍵盤控制

Turn.js允許你使用鍵盤或滑鼠來控制頁面,方便用戶的操作。以下是支持鍵盤和滑鼠的示例代碼:

$('.magazine').turn({
    //啟用鍵盤和滑鼠控制
    keyboard: true,
    mouse: true,
    //設置輔助工具提示
    tooltips: {
        //設置左右翻頁的快捷鍵為←和→
      next: 'Press →',
      //由於HTML實體化,這裡需要用←表示左箭頭
      prev: 'Press ←'
    }
});

五、組合使用Turn.js和其他庫

Turn.js可以與其他JavaScript庫相結合,從而增強其功能。

例如,Turn.js可以與jQuery UI庫相結合,從而使 Turn.js 具有拖動和縮放功能。以下示例代碼演示了如何將 Turn.js 和 jQuery UI 庫組合在一起:

&lthtml>
&lthead>
  <title>Turn.js Example</title>
  <script src="jquery.min.js"></script>
  <script src="jquery-ui.min.js"></script>
  <link rel="stylesheet" href="jquery-ui.min.css">
  <script src="turn.min.js"></script>
  <link rel="stylesheet" href="basic.css">
</head>
<body>
  <div class="magazine">
    <div class="turn-page" data-placeholder="Page 1"></div>
    <div class="turn-page" data-placeholder="Page 2"></div>
    <div class="turn-page" data-placeholder="Page 3"></div>
    <div class="turn-page" data-placeholder="Page 4"></div>
  </div>
  <script>
      //初始化輪廓
    $('.magazine').turn({
      acceleration: true
    });
      //初始化縮放
    $('.magazine-viewport').zoom({
      flipbook: $('.magazine'),
      max: function() { 
        return 2;
      },
      when: {
        swipeLeft: function() {
          $(this).zoom('flipbook').turn('next');
        },
        swipeRight: function() {
          $(this).zoom('flipbook').turn('previous');
        },
        resize: function(event, scale, page, pageElement) {
          if (scale==1)
            loadSmallPage(page, pageElement);
          else
            loadLargePage(page, pageElement);
        },
        zoomIn: function () {
          $('.thumbnails').hide();
          $('.toolbar').hide();
          $('.made').hide();
          $('.flipbook-bg').css({'visibility': ''});
        },
        zoomOut: function () {
          $('.thumbnails').fadeIn();
          $('.toolbar').fadeIn();
          $('.made').fadeIn();
          $('.flipbook-bg').css({'visibility': 'hidden'});
        }
      }
    });
  </script>
</body>
</html>

在這個示例中,我們初始化了 Turn.js 輪廓、縮放和 jQuery UI 庫。然後,我們將縮放器與輪廓綁定,啟用縮放之後,通過縮放器的回調函數,我們可以動態地更新頁面。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303516.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-31 11:50
下一篇 2024-12-31 11:50

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python讀取中文

    Python是一種高級編程語言,被廣泛地應用於各種領域中。而處理中文數據也是其中重要的一部分。本文將介紹在Python中如何讀取中文,為大家提供指導和幫助。 一、讀取中文文件 在P…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • Python計算中文字元個數

    本文將從多個方面對Python計算中文字元個數進行詳細的闡述,包括字元串長度計算、正則表達式統計和模塊使用方法等內容。 一、字元串長度計算 在Python中,計算字元串長度是非常容…

    編程 2025-04-29

發表回復

登錄後才能評論