欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Hammer.js,一款用于手機屏幕移動端開發的神奇 JavaScript 開源多點觸摸手勢庫

admin
2024年10月12日 10:7 本文熱度 427
  • Github Star: 24k[1]

  • 官網[2]

1、Hammer.js 是什么?

Hammer.js 是一個開源的輕量級 JavaScript 庫,專門用于識別和處理移動設備上的觸摸手勢。它能夠識別包括點擊、雙擊、拖動、縮放、旋轉等多種手勢,可以在不依賴其他框架的情況下獨立使用,而且很輕量壓縮后僅 7.34KB。Hammer.js 的設計目的是簡化移動端開發中的手勢識別過程,提供高性能的交互體驗.

核心特性

  • 手勢識別:提供了一系列預設的手勢識別器,如拖動、縮放、旋轉等,并且允許自定義新的手勢識別器。

  • 事件處理:通過簡單的 API,開發者可以為特定的手勢綁定事件處理函數,實現自定義的交互邏輯。

  • 性能優化:進行了性能優化,減少不必要的計算并有效利用硬件加速,保證流暢的用戶體驗。

  • 跨平臺支持:兼容多種移動設備和桌面瀏覽器,確保廣泛的應用范圍.

2、應用場景

Hammer.js 應用于需要精細觸摸交互的移動 Web 應用和游戲開發中。它可以用于實現圖片輪播、地圖縮放、游戲控制等功能。

3、快速開始

在項目中使用 Hammer.js ,需要通過 npm 或 yarn 將 Hammer.js 安裝。

npm install --save hammerjs
# 或
yarn add hammerjs

示例代碼中,使用 CDN 引入 Hammer.js。首先定義 DOM 結構如下:

<div id="app">
  <div class="wrapper">
    <div class="square" id="tap">輕擊</div>
    <div class="square" id="doubleTap">雙擊</div>
    <div class="square" id="press">長按</div>
    <div class="square" id="swipe">滑動</div>
  </div>
</div>
<script
  src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.js"
  integrity="sha512-qRj8N7fxOHxPkKjnQ9EJgLJ8Ng1OK7seBn1uk8wkqaXpa7OA13LO6txQ7+ajZonyc9Ts4K/ugXljevkFTUGBcw=="
  crossorigin="anonymous"
  referrerpolicy="no-referrer"
>
</script>
<script type="module" src="./index.js"></script>

創建 Hammer 對象,定義識別器和注冊回調事件。

const $ = e => document.querySelector(e)
// 輕擊事件
const tapManager = new Hammer.Manager($('#tap'))
// 定義觸發器
const tap = new Hammer.Tap({
  taps1
})
// 添加到 manager 中
tapManager.add(tap)
// 注冊回調
tapManager.on('tap'(e) => {
  e.target.classList.toggle('expand');
});

效果如下(具體實現回復 “demo”獲取)

4、核心API

手勢識別事件

Hammer.js 支持多種手勢識別,以下是一些常用的識別器:

  • Pan 事件:手指按下并移動,就是觸摸屏的拖動。包括 panstartpanmovepanendpancancel以及方向性事件如panleftpanrightpanuppandown

  • Pinch 事件:當兩根手指或多根手指相對移動或相向移動時觸發。包括 pinchstartpinchmovepinchendpinchcancel 以及 pinchn(手指距離變近)和 pinchout(手指距離變遠)事件

  • Rotate 事件:當兩根手指或更多手指呈圓形旋轉時觸發。包括 rotatestartrotatemoverotateend 和 rotatecancel 事件 。

  • Press 事件:在指定的DOM對象中,進行按壓的點擊事件,相當于 PC 端的 click 事件,最小按壓時間為500ms。包括 pressup 事件 。

  • Tap 和 Doubletap 事件:點按和雙擊手勢。

  • Swipe 事件:快速滑動手勢,可以設置方向性,例如僅水平或垂直方向

Hammer.js 允許同時監聽多個手勢、自定義識別器,并且可以通過 recognizeWith和 requireFailure 等方法來定義識別器之間的關系 。默認情況下,pinch 和 rotate 識別器是禁用的,如果需要使用它們,可以通過設置 enable: true 來啟用 。

5、總結

Hammer.js,這個小巧的 JavaScript 庫讓移動設備上的手勢操作變得超簡單。不管是輕點、滑動還是捏合放大,它都能輕松識別,而且用起來特別方便。小伙伴們可以快速上手,給自己的項目加上各種酷炫的手勢功能。

祝好!

引用鏈接

[1] Github Star: 24k: https://github.com/hammerjs/hammer.js
[2] 官網: https://hammerjs.github.io


該文章在 2024/10/12 10:07:43 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved