狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Dragula.js,一款神奇的 JavaScript 開(kāi)源拖放庫(kù)?讓拖放操作變得簡(jiǎn)單直觀,提升用戶交互的新選擇

admin
2024年10月12日 9:36 本文熱度 430
  • Github Star: 21.9k[1]

  • 官網(wǎng)[2]

Dragula.js —— 一個(gè)為開(kāi)發(fā)者設(shè)計(jì)的拖放庫(kù),它以簡(jiǎn)潔的代碼和強(qiáng)大的功能,讓你的應(yīng)用交互更加流暢和直觀。

1、Dragula.js 是什么?

Dragula.js 是一個(gè)用于拖放操作的 JavaScript 庫(kù),允許開(kāi)發(fā)者實(shí)現(xiàn)元素的拖放功能。由 Google 的軟件工程師 Matthew Rothenberg 開(kāi)發(fā),設(shè)計(jì)初衷是為了簡(jiǎn)化拖放操作的開(kāi)發(fā)過(guò)程,使得開(kāi)發(fā)者可以專注于應(yīng)用的其他方面。 Dragula.js 具有以下幾個(gè)特點(diǎn):

  • 簡(jiǎn)潔的API:它提供了一個(gè)非常簡(jiǎn)潔的API,使得拖放操作非常容易實(shí)現(xiàn)。

  • 輕量級(jí):庫(kù)的大小很小,不會(huì)增加頁(yè)面的加載時(shí)間。

  • 模塊化Dragula.js 可以很容易地與其他庫(kù)和框架集成,如 ReactAngular 等。

  • 響應(yīng)式:它支持響應(yīng)式設(shè)計(jì),確保在不同屏幕尺寸的設(shè)備上都能正常工作。

  • 自定義:開(kāi)發(fā)者可以根據(jù)需要自定義拖放的行為和樣式。

2、快速開(kāi)始

安裝

在項(xiàng)目中,可以通過(guò) npm 安裝。

npm install dragula -S
# yarn
yarn add dragula

如果你沒(méi)有使用包管理工具,可以通過(guò)下載 Github 倉(cāng)庫(kù)中的 dist 文件夾中的 dragula 來(lái)使用。注意將 js 文件放在 <body> 中,還要引入 CSS 文件。

示例

首先,引入 Dragula 文件,

<link rel="stylesheet" href="./dragula/dist/dragula.css" />
<script src="./dragula/dist/dragula.js"></script>

Dragula 提供了簡(jiǎn)單的 API,可以方便的實(shí)現(xiàn)拖拽。首先定義 DOM 結(jié)構(gòu),

<div class="wrapper">
  <div id="left-defaults" class="container">
    <div>1. 可以在兩個(gè)列表之間移動(dòng)元素</div>
    <div>2. 可以移動(dòng)到任意位置</div>
    <div>3. 任何元素都可以被移動(dòng)</div>
  </div>
  <div id="right-defaults" class="container">
    <div>A. 你可以在同一個(gè)容器中移動(dòng)元素,改變它的位置</div>
    <div>B. 這是默認(rèn)用例。</div>
    <div>C. 提供很多配置項(xiàng)</div>
  </div>
</div>

實(shí)現(xiàn)兩個(gè)容器元素之間的拖動(dòng),只需調(diào)用 dragula 函數(shù)即可。示例中允許用戶將元素 left 拖到 right , right 拖到 left 。

dragula([$('left-defaults'), $('right-defaults')])
function $(id) {
    return document.getElementById(id)
}

實(shí)現(xiàn)效果如下:

3、更多配置

上面示例中,我們沒(méi)有向 Dragula 函數(shù)傳遞任何 Options 屬性,其實(shí)他提供了一個(gè)默認(rèn)的 Options 對(duì)象。

dragula(containers, {
  // 判斷元素是否是容器,返回 false 表示只有 `drake.containers` 中的元素才會(huì)被考慮作為容器
  isContainerfunction (el) {
    return false;
  },
  // 判斷元素是否可以移動(dòng),返回 true 表示默認(rèn)情況下所有元素都是可拖動(dòng)的
  movesfunction (el, source, handle, sibling) {
    return true;
  },
  // 判斷元素是否可以被放置在目標(biāo)容器中,返回 true 表示默認(rèn)情況下元素可以被放置在任何 `containers` 中
  acceptsfunction (el, target, source, sibling) {
    return true;
  },
  // 判斷元素是否應(yīng)該被阻止拖動(dòng),返回 false 表示默認(rèn)情況下不會(huì)阻止任何元素的拖動(dòng)
  invalidfunction (el, handle) {
    return false;
  },
  // 確定拖動(dòng)方向,'vertical' 表示在確定元素放置位置時(shí),只考慮 Y 軸方向
  direction'vertical',
  // 是否復(fù)制元素,默認(rèn)為 false,表示移動(dòng)元素而不是復(fù)制
  copyfalse,
  // 是否允許在復(fù)制源容器中重新排序元素,默認(rèn)為 false
  copySortSourcefalse,
  // 如果元素在拖動(dòng)過(guò)程中溢出容器,是否將其恢復(fù)到拖動(dòng)前的位置,默認(rèn)為 false
  revertOnSpillfalse,
  // 如果元素在拖動(dòng)過(guò)程中溢出容器,是否將其從 DOM 中移除,默認(rèn)為 false
  removeOnSpillfalse,
  // 設(shè)置鏡像元素(拖動(dòng)時(shí)顯示的元素)應(yīng)該附加到的元素,默認(rèn)為 document.body
  mirrorContainerdocument.body,
  // 是否忽略輸入框中的文本選擇,設(shè)置為 true 允許用戶選擇輸入框中的文本,而不會(huì)觸發(fā)拖動(dòng)
  ignoreInputTextSelectiontrue,
  // 設(shè)置在 X 軸上移動(dòng)多少距離后才認(rèn)為是拖動(dòng)而不是點(diǎn)擊,默認(rèn)為 0
  slideFactorX0,
  // 設(shè)置在 Y 軸上移動(dòng)多少距離后才認(rèn)為是拖動(dòng)而不是點(diǎn)擊,默認(rèn)為 0
  slideFactorY0
});

4、總結(jié)

Dragula.js 是一個(gè)輕量級(jí)、高性能的拖放庫(kù),它以簡(jiǎn)潔的 API 和強(qiáng)大的功能集,為現(xiàn)代網(wǎng)頁(yè)應(yīng)用帶來(lái)了流暢而直觀的拖拽體驗(yàn)。希望本期推薦能幫到你!

祝好!

引用鏈接

[1] Github Star: 21.9k: https://github.com/bevacqua/dragula
[2] 官網(wǎng): https://bevacqua.github.io/dragula/


該文章在 2024/10/12 9:36:01 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved