Última actividad 9 months ago

本範例展示如何使用 SortableJS 來實現可拖放排序功能,並即時顯示更新後的順序,適用於動態 UI、可視化管理、任務清單與數據重組等應用。

sortablejs_advanced_example.html Sin formato
1<!DOCTYPE html>
2<html lang="zh-TW">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>SortableJS 進階範例</title>
7 <style>
8 .list {
9 list-style: none;
10 padding: 0;
11 width: 250px;
12 border: 1px solid #ddd;
13 border-radius: 5px;
14 background: #fafafa;
15 }
16 .list-item {
17 padding: 10px;
18 margin: 5px;
19 background: #fff;
20 border: 1px solid #ddd;
21 cursor: grab;
22 text-align: center;
23 }
24 .list-item:hover {
25 background: #f0f0f0;
26 }
27 </style>
28</head>
29<body>
30
31 <h2>拖曳排序範例</h2>
32 <ul id="sortable-list" class="list">
33 <li class="list-item" data-id="1">項目 1</li>
34 <li class="list-item" data-id="2">項目 2</li>
35 <li class="list-item" data-id="3">項目 3</li>
36 <li class="list-item" data-id="4">項目 4</li>
37 </ul>
38
39 <p><strong>最新順序:</strong></p>
40 <pre id="order-output">尚未排序</pre>
41
42 <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/Sortable.min.js"></script>
43 <script>
44 const list = document.getElementById('sortable-list');
45 const output = document.getElementById('order-output');
46
47 new Sortable(list, {
48 animation: 150,
49 onEnd: function (evt) {
50 const items = [...list.children].map(item => item.dataset.id);
51 output.textContent = `順序: ${items.join(', ')}`;
52 }
53 });
54 </script>
55
56</body>
57</html>
58