SortableJS
功能强大的JavaScript 拖拽库
特性
兼容性好
支持触屏设备和大部分浏览器
简单
简单的API,方便使用
原生
基于原生HTML5中的拖放API
CSS框架兼容性
支持所有的css框架,像Bootstrap
零依赖
不依赖Jquery等其他框架
SPA支持良好
支持多种框架(angular、vue、react等)
功能强大的JavaScript 拖拽库
支持触屏设备和大部分浏览器
简单的API,方便使用
基于原生HTML5中的拖放API
支持所有的css框架,像Bootstrap
不依赖Jquery等其他框架
支持多种框架(angular、vue、react等)
npm install sortablejs --save
bower install --save sortablejs
<script src="../../js/Sortable.min.js"></script>
new Sortable(example1, {
animation: 150,
ghostClass: 'blue-background-class'
});
new Sortable(example2Left, {
group: 'shared', // set both lists to same group
animation: 150
});
new Sortable(example2Right, {
group: 'shared',
animation: 150
});
通过拖拽复制节点
new Sortable(example3Left, {
group: {
name: 'shared',
pull: 'clone' // To clone: set pull to 'clone'
},
animation: 150
});
new Sortable(example3Right, {
group: {
name: 'shared',
pull: 'clone'
},
animation: 150
});
坐标的列表无法进行排序,因为设置了禁止sort, 但是你还是可以从左边拖拽到右边
new Sortable(example4Left, {
group: {
name: 'shared',
pull: 'clone',
put: false // 不允许拖拽进这个列表
},
animation: 150,
sort: false // 设为false,禁止sort
});
new Sortable(example4Right, {
group: 'shared',
animation: 150
});
new Sortable(example5, {
handle: '.handle', // handle's class
animation: 150
});
试图拖拽的时候背景会变成红色. 但是无法完成拖拽,因为被过滤器filter选项排除在外filter
option.
new Sortable(example6, {
filter: '.filtered', // 'filtered' class is not draggable
animation: 150
});
Try modifying the inputs below to affect the swap thresholds. You can see the swap zones of the squares colored in dark blue, while the "dead zones" (that do not cause a swap) are colored in light blue.
new Sortable(example7, {
swapThreshold: 1,
animation: 150
});
注意: 当开启嵌套排序动画的时候, 建议将 fallbackOnBody
选项设置为true。