divA中有divB和divC,拖拽交换divB和divC的位置并且拖拽过程中组件不销毁
时间: 2024-04-29 11:22:29 浏览: 72
vue实现div拖拽互换位置
这个问题可以通过使用拖拽排序库来实现,比如说SortableJS。
首先,在HTML中创建一个divA,并在其中添加divB和divC:
```html
<div id="divA">
<div id="divB">Div B</div>
<div id="divC">Div C</div>
</div>
```
然后,使用SortableJS库来实现divB和divC的拖拽排序。在JavaScript中,我们需要创建一个Sortable对象,并指定可拖拽的元素为divA的子元素:
```javascript
var divA = document.getElementById('divA');
var sortable = Sortable.create(divA, {
animation: 150,
handle: '.handle',
onEnd: function(evt) {
console.log('Dragged', evt.item);
}
});
```
在这个例子中,我们使用了animation选项来指定拖拽动画的时间,handle选项来指定拖拽操作的句柄(比如拖拽图标),以及onEnd回调函数来处理拖拽结束后的逻辑。
最后,我们需要在CSS中为divB和divC设置一些样式,比如固定大小和位置:
```css
#divB, #divC {
width: 100%;
height: 50px;
background-color: #ccc;
text-align: center;
line-height: 50px;
position: relative;
top: 0;
left: 0;
}
```
这样,我们就实现了在divA中拖拽交换divB和divC的位置,并且拖拽过程中组件不销毁的效果。
阅读全文