溫馨提示×

js sortable有案例嗎

js
小樊
81
2024-10-23 03:31:09
欄目: 編程語言

當然有!以下是一個簡單的使用 JavaScript 和 Sortable.js 實現(xiàn)列表拖拽排序的案例。我們將創(chuàng)建一個包含一些項目的無序列表,并使用 Sortable.js 使其可拖動和排序。

首先,在HTML文件中添加以下代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sortable.js Example</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.13.0/Sortable.min.css">
</head>
<body>
    <ul id="sortableList">
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
        <li>Item 5</li>
    </ul>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.13.0/Sortable.min.js"></script>
    <script src="script.js"></script>
</body>
</html>

接下來,在與HTML文件相同的目錄中創(chuàng)建一個名為 script.js 的JavaScript文件,并添加以下代碼:

document.addEventListener('DOMContentLoaded', function () {
    const sortableList = document.getElementById('sortableList');

    new Sortable(sortableList, {
        animation: 150,
        onUpdate: function (event) {
            console.log('Sorted items:', Array.from(sortableList.children));
        },
    });
});

在這個例子中,我們首先通過 getElementById 獲取到無序列表元素。然后,我們使用 new Sortable() 創(chuàng)建一個新的 Sortable 實例,并傳入兩個選項:

  • animation: 設置動畫速度為 150ms。
  • onUpdate: 當列表項排序更改時,這個回調(diào)函數(shù)會被觸發(fā)。在這個例子中,我們只是將排序后的列表項打印到控制臺。

現(xiàn)在,你可以在瀏覽器中打開HTML文件,嘗試拖動列表項以對其進行排序。每當排序更改時,都會看到控制臺輸出更新后的列表項順序。

0