日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

Shuffle.js,一款神奇的 JavaScript 開源庫,對響應(yīng)式項(xiàng)目網(wǎng)格進(jìn)行分類、排序和過濾

admin
2024年10月12日 10:0 本文熱度 956
  • Github Star: 2.4k[1]

  • 官網(wǎng)[2]

1、Shuffle.js 是什么?

Shuffle.js 是一個 JavaScript 庫,專門用于簡化響應(yīng)式設(shè)計(jì)的網(wǎng)格布局,通過它可以輕松實(shí)現(xiàn)網(wǎng)格布局,元素排序、過濾、動畫等功能。核心功能主要包括:

  1. 1. 網(wǎng)格布局: 可以將一組項(xiàng)目排列成一個響應(yīng)式的網(wǎng)格布局,并根據(jù)窗口大小自動調(diào)整布局。

  2. 2. 排序: 允許你根據(jù)不同的條件對網(wǎng)格中的項(xiàng)目進(jìn)行排序,例如字母順序、數(shù)字順序或自定義的排序規(guī)則。

  3. 3. 過濾: 支持根據(jù)不同的條件對網(wǎng)格中的項(xiàng)目進(jìn)行過濾,例如類別、標(biāo)簽或自定義的過濾規(guī)則。

  4. 4. 動畫: 提供流暢的動畫效果,可以使網(wǎng)格布局的更新更加自然和美觀。

2、效果預(yù)覽

動態(tài)網(wǎng)格布局

條件排序

元素過濾

3、快速開始

首先,安裝 Shuffle.js 通過包管理工具 npm 或 yarn。執(zhí)行下面命令:

npm install shufflejs

yarn add shufflejs

使用 Vite 創(chuàng)建一個 Vanilla JavaScript 演示項(xiàng)目,下面是核心代碼,完整代碼公眾號回復(fù) “demo” 獲取。

// 根據(jù)圖片對象生成tile的HTML字符串
const tile = (obj) => {
  return `
  <figure class="js-item column ${obj.variant || ''}">
      <div class="aspect aspect--${ratio(obj.variant)}">
          <div class="aspect__inner">
              <img src="${obj.src}" alt="${obj.alt}">
          </div>
      </div>
  </figure>`

}
// 獲取頁面元素并設(shè)置其內(nèi)部HTML為生成的Shuffle布局
document.querySelector('#page').innerHTML = `
  <div class="container">
    <h1>
        <a >Shuffle</a>模板
    </h1>
    <div class="js-grid my-shuffle">${images
      .map((item) => tile(item))
      .join('')}
</div>
  </div>
`

不引入 Shuffle.js 效果,明顯看出圖像元素排列存在空位。

初始化 Shuffle 示例對象及配置選項(xiàng)。

// 創(chuàng)建Shuffle實(shí)例并配置選項(xiàng)
const shuffle = new Shuffle(document.querySelector('.my-shuffle'), {
  itemSelector'.js-item',
  sizer'.js-sizer',
  buffer1,
})

container 一個 DOM 元素,表示要進(jìn)行排序和過濾的容器。options 一個可選的對象,用于配置 Shuffle.js 的行為,例如:itemSelector一個 CSS 選擇器,用于選擇容器中的項(xiàng)目元素。sizer 一個 DOM 元素,用于確定網(wǎng)格布局的尺寸。

4、核心 API

Shuffle.js 核心 API 包含幾個部分:

排序項(xiàng)目

每個項(xiàng)目都有一個 data-title 屬性,用于排序。例如:

// 根據(jù)圖片對象生成tile的HTML字符串
const tile = (obj) => {
  return `
  <figure class="js-item column ${obj.variant || ''}" data-title="${obj.alt}">
  // ...
  </figure>`

}
// 定義排序
const addSorting = () => {
  document.querySelector('.sort-options').addEventListener('change'(event) => {
    const value = event.target.value;
    function sortByTitle(element) {
      return element.dataset.title.toLowerCase();
    }
    let options = {};
    if (value === 'title') {
      options = {
        by: sortByTitle,
      };
    }
    shuffle.sort(options);
  });
}
addSorting()

定義排序規(guī)則,其中 by 以元素作為參數(shù)的函數(shù)。randomize 隨機(jī)順序排序;reverse 對排序結(jié)果進(jìn)行反轉(zhuǎn)。

過濾項(xiàng)目

shuffle .filter(filterGroup);

filterGroup: 一個字符串,表示要過濾的組別。

重新排列

shuffle .shuffle();

隨機(jī)排列項(xiàng)目。

其他方法

  • destory: 銷毀 Shuffle.js 實(shí)例

  • update: 更新 Shuffle.js 實(shí)例,例如在添加或刪除項(xiàng)目后。

  • on: 綁定事件監(jiān)聽器,例如監(jiān)聽排序或過濾完成事件。

  • off: 移除事件監(jiān)聽器。

5、總結(jié)

Shuffle.js 是一個功能強(qiáng)大的 JavaScript 庫,它通過提供網(wǎng)格布局、排序、過濾和動畫等核心功能,簡化了響應(yīng)式設(shè)計(jì)的工作。使用 Shuffle.js 可以輕松創(chuàng)建動態(tài)和美觀的網(wǎng)格布局,無論是在圖片庫、產(chǎn)品列表還是文章展示中,都能實(shí)現(xiàn)用戶友好的交互體驗(yàn)。

祝好!

引用鏈接

[1] Github Star: 2.4k: https://github.com/Vestride/Shuffle
[2] 官網(wǎng): https://vestride.github.io/Shuffle/


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

主站蜘蛛池模板: 国产精品一卡二卡三卡 | 亚洲痴女 | 亚洲欧美一区二区三区日产 | 日韩高清国产一区在线 | 免费人成黄页在线观看国产 | 国产日产高清欧美一区 | 天美传媒、91制片厂、天美传媒 | 最近中文字幕免费高清mv视频6 | 2025国产手机在线精品 | 日韩欧美国产偷亚洲清高 | 亚洲人精品午夜射精日韩 | 文中字幕一区二区三区视频播放 | 国产精品亚洲专区一区 | 国产精品色三级在线观看 | 国产激情精品一区二区三区 | 欧美一区韩国二区老 | 亚洲欧洲中文字幕免费看 | 日本在线日本 | 日韩成人激情影院 | 2025最新电影电视剧 | 国产日韩欧美在线观看一区二区 | 天美传媒果冻传媒国产日本 | 亚洲vv秘码国产 | 亚洲自偷精品视频自拍 | 我们高清观看免费中国片 | 亚洲欧洲国产韩国va在线 | 国产又黄的a级鬼片在线观看 | 日本欧美大码a在线观看 | 欧美最猛黑人xxxx | 日本黄页网址在线看免费不卡 | 在线精品国产 | 中文字幕在线免费看线人 | 国产青草视频在线观看 | 亚洲国产精品国自产拍a∨ 麻花影视在线看电视剧软件 | 国产高清不卡在线 | 亚洲综合色区另类aⅴ | 99在线精品免费视频九九视 | 亚洲一区二区三区不卡在线播放 | 精品国产不卡在线观看免费 | 亚洲天堂2025女人天堂 | 国产一区二区三区观看 |