-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
81 lines (66 loc) · 2.22 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!--
* @Description:
* @Author: zhangchuangye
* @Date: 2018-09-08 15:46:23
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>九宫格排序</title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
display: flex;
width: 300px;
flex-wrap: wrap;
}
</style>
</head>
<body>
<h3>利用h5 drag drop实现拖拽排序</h3>
<section class="box">
</section>
<script>
var box = document.querySelector('.box')
let parentNode = ''
let childNode=''
for (let i = 0; i < 9; i++) {
var eleWrap = document.createElement('div')
eleWrap.id = `wrap-${i}`
eleWrap.style.cssText = 'width:100px;height:100px;border-left:1px solid white;border-top:1px solid white;box-sizing:border-box;'
eleWrap.ondragover = function (ev) {
ev.preventDefault()
childNode=ev.currentTarget.children[0]
}
eleWrap.ondrop = function (ev) {
ev.preventDefault()
var data = ev.dataTransfer.getData('text')
wrapNode = ev.currentTarget
// console.log(wrapNode)
wrapNode.appendChild(document.getElementById(data))
parentNode.appendChild(childNode)
}
var eleDrag = document.createElement('div')
eleDrag.innerHTML = i
eleDrag.style.cssText = 'background:rgb(100,100,100);width:100%;height:100px;display:inline-block;text-align:center;color:white'
eleDrag.id = `ele-${i}`
eleDrag.setAttribute('draggable', true)
eleWrap.appendChild(eleDrag)
eleDrag.ondragstart = function (ev) {
console.log('start')
parentNode = ev.target.parentNode
let data=ev.target.id
console.log(data)
ev.dataTransfer.setData('text/plain', data)
}
box.appendChild(eleWrap)
}
</script>
</body>
</html>