温馨提示×

js sortable有案例吗

js
小樊
82
2024-10-23 03:31:09
栏目: 编程语言

当然有!以下是一个简单的使用 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文件,尝试拖动列表项以对其进行排序。每当排序更改时,都会看到控制台输出更新后的列表项顺序。

0