-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblocksShift.html
89 lines (80 loc) · 2.34 KB
/
blocksShift.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
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
li{
list-style: none;
}
ul{
border: 2px solid #000;
display: flex;
}
ul li{
width: 80px;
height: 80px;
background: skyblue;
margin: 5px;
transition: 300ms;
}
</style>
</head>
<body>
<ul id="box">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script>
box.addEventListener('click',fn);
let top0 = true;
function fn(ev) {
if(ev.target.tagName == 'LI'){
if(top0){ //从上往下移
;(function recruion(ele){
ele.style.transform = 'translateY(300px)';
if(ele.previousElementSibling){
setTimeout(function () {
recruion(ele.previousElementSibling);
},50)
}
})(ev.target);
;(function recruion(ele){
ele.style.transform = 'translateY(300px)';
if(ele.nextElementSibling){
setTimeout(function () {
recruion(ele.nextElementSibling);
},50)
}
})(ev.target);
}else{
;(function recruion(ele){
ele.style.transform = 'translateY(0)';
if(ele.previousElementSibling){
setTimeout(function () {
recruion(ele.previousElementSibling);
},50)
}
})(ev.target);
;(function recruion(ele){
ele.style.transform = 'translateY(0)';
if(ele.nextElementSibling){
setTimeout(function () {
recruion(ele.nextElementSibling);
},50)
}
})(ev.target);
}
top0 = !top0;
}
}
</script>
</body>
</html>