当然有!以下是一个简单的使用 JavaScript 和 Sortable.js 实现列表拖拽排序的案例。我们将创建一个包含一些项目的无序列表,并使用 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文件相同的目录中创建一个名为 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()
创建一个新的 Sortable 实例,并传入两个选项:
animation
: 设置动画速度为 150ms。onUpdate
: 当列表项排序更改时,这个回调函数会被触发。在这个例子中,我们只是将排序后的列表项打印到控制台。现在,你可以在浏览器中打开HTML文件,尝试拖动列表项以对其进行排序。每当排序更改时,都会看到控制台输出更新后的列表项顺序。