在项目中,经常会遇到一些涉及到拖拽排序的需求,github上面有一个开源的SortableJS的插件,支持Vue,React,Angular等多种框架,实现效果很好,基本可以满足大部分的需求,下面编程学习网的小编就做个简单的demo记录在项目中,经常会遇到一些涉及到拖拽排序的需求,github上面有一个开源的SortableJS的插件,支持Vue,React,Angular等多种框架,实现效果很好,基本可以满足大部分的需求,下面编程学习网的小编就做个简单的demo记录 引入文件Sortable.min.js 指定包裹
- 引入文件Sortable.min.js
- 指定包裹容器的id
- 根据api开始创建使用即可
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Sortable插件的使用</title>
</head>
<body>
<div class="container" style="height: 520px">
<div data-force="30" class="layer block" style="left: 14.5%; top: 0; width: 37%">
<div class="layer title">List A</div>
<ul id="foo" class="block__list block__list_words">
<li>1aaaбегемот</li>
<li>2корм</li>
<li>3антон</li>
<li>4сало</li>
<li>5железосталь</li>
<li>6валик</li>
<li>7кровать</li>
<li>8краб</li>
</ul>
</div>
</div>
<script src="http://www.topstudy.com.cn/skin/jslib/sortable.min.js"></script>
<script>
Sortable.create(document.getElementById('foo'), {
animation: 150,
store: {//缓存到localStorage
get: function(sortable) {
var order = localStorage.getItem(sortable.options.group);
return order ? order.split('|') : [];
},
set: function(sortable) {
var order = sortable.toArray();
localStorage.setItem(sortable.options.group, order.join('|'));
}
},
onAdd: function(evt) {
console.log('onAdd.foo:', [evt.item, evt.from]);
},
onUpdate: function(evt) {
console.log('onUpdate.foo:', [evt.item, evt.from]);
},
onRemove: function(evt) {
console.log('onRemove.foo:', [evt.item, evt.from]);
},
onStart: function(evt) {
console.log('onStart.foo:', [evt.item, evt.from]);
},
onSort: function(evt) {
console.log('onStart.foo:', [evt.item, evt.from]);
},
onEnd: function(evt) {
console.log('onEnd.foo:', [evt.item, evt.from]);
}
});
</script>
</body>
</html>
官方代码下载地址:https://github.com/SortableJS/Sortabledemo演示地址:http://sortablejs.github.io/Sortable/
沃梦达教程
本文标题为:拖拽插件SortableJS的简单使用(带缓存)
猜你喜欢
- ajax实现输入提示效果 2023-02-14
- JS实现左侧菜单工具栏 2022-08-31
- 深入浅析AjaxFileUpload实现单个文件的 Ajax 文件上传库 2022-12-15
- javascript 判断当前浏览器版本并判断ie版本 2023-08-08
- jsPlumb+vue创建字段映射关系 2023-10-08
- layui数据表格以及传数据方式 2022-12-13
- 基于CORS实现WebApi Ajax 跨域请求解决方法 2023-02-14
- 关于 html:如何从 css 表中删除边距和填充 2022-09-21
- 1 Vue - 简介 2023-10-08
- vue keep-alive 2023-10-08