89 lines
2.1 KiB
HTML
89 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>sortable.js chosenClass属性例子</title>
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui"
|
|
/>
|
|
<script src="https://www.itxst.com/package/sortable/sortable.min.js"></script>
|
|
<style>
|
|
.itxst {
|
|
margin: 10px auto;
|
|
width: 80%;
|
|
float: left;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.itxst > div {
|
|
padding: 6px;
|
|
background-color: #fdfdfd;
|
|
border: solid 1px #eee;
|
|
margin-bottom: 10px;
|
|
cursor: move;
|
|
}
|
|
|
|
.itxst .innner {
|
|
padding: 6px;
|
|
background-color: #fdfdfd;
|
|
border: solid 1px #eee;
|
|
margin-bottom: 10px;
|
|
cursor: move;
|
|
}
|
|
|
|
#msg {
|
|
clear: both;
|
|
width: 100%;
|
|
}
|
|
|
|
.ghost {
|
|
background-color: red !important;
|
|
}
|
|
|
|
.chosen {
|
|
border: solid 2px #3089dc !important;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="box">
|
|
<div id="g1" class="itxst">
|
|
<div>鼠标点击按住下面的 item 2对象1秒后再拖拽</div>
|
|
<div class="item" data-id="1">item 1</div>
|
|
<div class="item" data-id="2">item 2</div>
|
|
<div class="item" data-id="3">item 3</div>
|
|
</div>
|
|
</div>
|
|
<div id="msg"></div>
|
|
<script>
|
|
// sortable.js chosenClass 选中拖拽对象的样式
|
|
// 当设置了delay延迟属性就很容易理解这个属性了
|
|
// 比如delay延迟1秒当鼠标按住1秒后
|
|
// 才会添加chosenClass样式到选中的对象。
|
|
const g1 = document.getElementById('g1');
|
|
const msg = document.getElementById('msg');
|
|
const ops = {
|
|
animation: 166,
|
|
delay: 166,
|
|
draggable: '.item',
|
|
// 停靠样式
|
|
ghostClass: 'ghost',
|
|
// ******* 选中样式 *******
|
|
chosenClass: 'chosen',
|
|
// 禁用html5原生拖拽行为
|
|
focusFallback: true,
|
|
group: { name: 'bunny', pull: true, pull: 'clone' },
|
|
// 拖动结束
|
|
onEnd(event) {
|
|
console.log(event);
|
|
const arr = sortable.toArray();
|
|
msg.innerHTML = JSON.stringify(arr);
|
|
},
|
|
};
|
|
|
|
const sortable = Sortable.create(g1, ops);
|
|
</script>
|
|
</body>
|
|
</html>
|