1 DOCTYPE html >
2 html lang ="en" >
3 head >
4 meta charset ="UTF-8" >
5 title > 3d翻转相册 title >
6 script src ="jquery-3.0.0.min.js" > script >
7 style >
8 .container {
9 position : relative ;
10 width : 560px ;
11 height : 380px ;
12 margin : 0 auto ;
13 }
14 .items {
15 height : 100% ;
16 margin : 100px auto ;
17 transform-style : preserve-3d ;
18 /* 实现自动翻转效果,这里只设置翻转一次 */
19 animation : autoMove 3s 1 linear ;
20 /* 点击翻转 过渡效果 */
21 transition : all 0.5s ;
22 }
23 .item {
24 width : 100% ;
25 height : 100% ;
26 position : absolute ;
27 border : 1px solid #c18 ;
font-size: 50px;
28 }
29 /* 设置不同的bgc,方便区分 */
30 .item:nth-child(1) {
31 /* background-image: url("images/01.jpg"); */
32 background-color : #cc1188 ;
33 }
34 .item:nth-child(2) {
35 /* background-image: url("images/02.jpg"); */
36 background-color : #0094ff ;
37 }
38 .item:nth-child(3) {
39 /* background-image: url("images/03.jpg"); */
40 background-color : #22ff22 ;
41 }
42 .item:nth-child(4) {
43 /* background-image: url("images/04.jpg"); */
44 background-color : #666666 ;
45 }
46 /* 定义动画 */
47 @keyframes autoMove {
48 from { }
49 to {
50 transform : rotateX(360deg) ;
51 }
52 }
53 /* 设置左右翻页箭头样式 */
54 .left, .right {
55 width : 50px ;
56 height : 50px ;
57 line-height : 50px ;
58 text-align : center ;
59 color : white ;
60 font-size : 50px ;
61 background-color : darkslategray ;
62 opacity : .5 ;
63 position : absolute ;
64 top : 50% ;
65 margin-top : -25px ;
66 cursor : pointer ;
67 }
68 .left {
69 left : -25px ;
70 }
71 .right {
72 right : -25px ;
73 }
74 style >
75 script >
76 $( function () {
77 var itemNum = $( " .items>.item " ).length;
78 var itemDeg = 360 / itemNum;
79 $( " .items .item " ).each( function (index, element) {
80 $(element).css({
81 transform: " rotateX( " + index * itemDeg + " deg) translateZ(190px) "
82 });
83 });
84 var count = 0 ; // 记录点击的次数,右击加1,左击减1
85 $( " .container .arrow .right " ).click( function () {
86 count ++ ;
87 $( " .items " ).css({
88 transform: " rotateX( " +- 90 * count + " deg) "
89 });
90
91 });
92 $( " .container .arrow .left " ).click( function () {
93 count -- ;
94 $( " .items " ).css({
95 transform: " rotateX( " +- 90 * count + " deg) "
96 });
97 });
98 });
99 script >
100 head >
101 body >
102 div class ="container" >
103 div class ="items" >
104 div class ="item" > 1 div >
105 div class ="item" > 2 div >
106 div class ="item" > 3 div >
107 div class ="item" > 4 div >
108 div >
109 div class ="arrow" >
110 div class ="left" > >
111 div class ="right" > > div >
112 div >
113 div >
114 body >
115 html >
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did101840