3D轮播

这个效果,主要采用3d效果展示,技术点主要还是旋转的角度问题,我相信聪明的小伙伴们,肯定猜得到的

话不多说,犀利一点
直接上代码

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
90
91
92
93
94
95
96
97
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>3d轮播图</title>
<style type="text/css">
body {
margin: 0;
background-color: black;
}
.view {
perspective: 3600px;
transform-origin:left;
}
img {
width: 500px;
}
.space3D {
transform-style: preserve-3d;
width: 500px;
position: relative;
margin: 200px auto;
}
.space3D div{
position: absolute;
}
.space3D div:nth-child(1){
transform: rotateY(0deg) translateZ(730px);
}
.space3D div:nth-child(2){
transform: rotateY(40deg) translateZ(730px);
}
.space3D div:nth-child(3){
transform: rotateY(80deg) translateZ(730px);
}
.space3D div:nth-child(4){
transform: rotateY(120deg) translateZ(730px);
}
.space3D div:nth-child(5){
transform: rotateY(160deg) translateZ(730px);
}
.space3D div:nth-child(6){
transform: rotateY(200deg) translateZ(730px);
}
.space3D div:nth-child(7){
transform: rotateY(240deg) translateZ(730px);
}
.space3D div:nth-child(8){
transform: rotateY(280deg) translateZ(730px);
}
.space3D div:nth-child(9){
transform: rotateY(320deg) translateZ(730px);
}
</style>
</head>
<body>
<div class="view">
<div class="space3D">
<div><img src="../images/lunbo14.png"></div>
<div><img src="../images/lunbo13.png"></div>
<div><img src="../images/lunbo12.png"></div>
<div><img src="../images/lunbo11.png"></div>
<div><img src="../images/lunbo9.png"></div>
<div><img src="../images/lunbo3.png"></div>
<div><img src="../images/lunbo8.png"></div>
<div><img src="../images/lunbo6.png"></div>
<div><img src="../images/lunbo5.png"></div>
</div>
</div>
</body>
<script type="text/javascript">
var view=document.getElementsByClassName('view');//获取观众席
var space3D=document.getElementsByClassName('space3D')[0];//获取舞台
var pictures=space3D.getElementsByTagName('div');//舞台表演人员
var index=0;
//for循环图片
for (var i = 0; i < pictures.length; i++) {
pictures[i].onclick=function() {
index++;
space3D.style.transition="transform 2s";
space3D.style.transform="rotateY("+40*index+"deg)";
}
}
</script>
</html>

不要问我为啥这么犀利,嘘。。。。

很惭愧<br><br>只做了一点微小的工作<br><br>我会继续努力<br><br>谢谢大家