一个自定义的卡片滑动及展示前端代码记录
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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 <style > .warranty  {width :  100% ;height : 1000px ;text-align : center;vertical-align : middle;overflow : hidden;position : relative;}.img-shadow  {box-shadow : 5px  5px  5px  5px  rgba (0 ,0 ,0 ,0.2 )}.warranty-cover  img  {filter : drop-shadow (5px  5px  5px  rgba (0 ,0 ,0 ,0.2 ));}.warranty-cover  {display : block;max-width : 600px ;max-height : 600px ;position : absolute;top : 0 ;left : 0 ;right : 500px ;bottom : 0 ;margin : auto;z-index : 99 ;}.warranty-page1  {display : block;max-width : 550px ;max-height : 550px ;position : absolute;top : 0 ;left : 0 ;right : 350px ;bottom : 0 ;margin : auto;z-index : 98 ; transform : translateX (150px );}.warranty-page2  {display : block;max-width : 550px ;max-height : 550px ;position : absolute;top : 0 ;left : 0 ;right : 200px ;bottom : 0 ;margin : auto;z-index : 97 ; transform : translateX (300px );}.warranty-page1 , .warranty-page2  {transition : transform 0.3s  ease-in-out;}.warranty-page1 :hover  {transform : translateX (300px ); }.warranty-page2 :hover  {transform : translateX (450px );}.modal  {display : none;position : fixed;z-index : 1000 ;left : 0 ;top : 0 ;width : 100% ;height : 100% ;overflow : auto;background-color : rgba (0 , 0 , 0 , 0.2 );}.modal-content  {position : fixed;top : 50% ;left : 50% ;transform : translate (-50% , -50% );width : 80% ;background : #fff ;padding : 20px ;border-radius : 10px ;box-shadow : 0  4px  8px  rgba (0 , 0 , 0 , 0.1 );z-index : 1001 ;}.close  {position : absolute;top : 5px ; right : 10px ;font-size : 30px ;font-weight : bold;color : #000 ; cursor : pointer;z-index : 1001 ;}.slideshow-container  {position : relative;max-width : 100% ;margin : auto;}.mySlides  {display : none;}.prev , .next  {cursor : pointer;position : absolute;top : 50% ;width : auto;padding : 16px ;margin-top : -22px ;color : #2E3D30 ;font-weight : bold;font-size : 18px ;transition : 0.6s  ease;border-radius : 0  3px  3px  0 ;user-select: none;}.next  {right : 0 ;border-radius : 3px  0  0  3px ;}.prev :hover , .next :hover  {background-color : rgba (0 ,0 ,0 ,0.3 );color : #2E3D30 ;}</style > <div  class ="uk-container uk-container-expand"  style ="padding: 0;" > <div  class ="uk-margin-small-top warranty"  style ="background-color: #fff" > <div  class ="warranty-cover" > <img   src ="...cover.png"  /> </div > <div  class ="warranty-page1" > <img  class ="...page1.png"  /> </div > <div  class ="warranty-page2" > <img  class ="...page2.png"  /> </div > </div > </div > <div  id ="modal"  class ="modal" > <div  class ="modal-content" > <span  class ="close" > × </span > <div  class ="slideshow-container" > <div  class ="slides" > <div  class ="mySlides" > <img  src =""  style ="width:100%" > </div > </div > <a  class ="prev"  onclick ="plusSlides(-1)" > ❮ </a > <a  class ="next"  onclick ="plusSlides(1)" > ❯ </a > </div > </div > </div > <script > var  page1 = document .querySelector ('.warranty-page1 img' );var  page2 = document .querySelector ('.warranty-page2 img' );var  modal = document .getElementById ('modal' );var  closeBtn = document .querySelector ('.modal .close' );var  page1Images = [  "...warranty-02.png" ,   "...warranty-03.png"  ]; var  page2Images = [  "...warranty-04.png" ,   "...warranty-05.png"  ]; page1.onclick  = function (   populateSlides (page1Images);   modal.style .display  = 'block' ; }; page2.onclick  = function (   populateSlides (page2Images);   modal.style .display  = 'block' ; }; closeBtn.onclick  = function (   modal.style .display  = 'none' ; }; window .onclick  = function (event ) {  if  (event.target  == modal) {     modal.style .display  = 'none' ;   } }; var  slideIndex = 1 ;function  plusSlides (n ) {  showSlides (slideIndex += n); } function  showSlides (n ) {  var  i;   var  slides = document .getElementsByClassName ("mySlides" );   if  (n > slides.length ) { slideIndex = 1 ; }   if  (n < 1 ) { slideIndex = slides.length ; }   for  (i = 0 ; i < slides.length ; i++) {       slides[i].style .display  = "none" ;     }   slides[slideIndex-1 ].style .display  = "block" ;   } function  populateSlides (imageArray ) {  var  slidesContainer = document .querySelector ('.slideshow-container .slides' );   slidesContainer.innerHTML  = '' ;   imageArray.forEach (function (src ) {     var  slide = document .createElement ('div' );     slide.className  = 'mySlides' ;     var  img = document .createElement ('img' );     img.src  = src;     img.style .width  = "100%" ;     slide.appendChild (img);     slidesContainer.appendChild (slide);   });   showSlides (slideIndex = 1 ); } </script > 
用到了UIkit框架,项目里还有fontawesome的内容,直接cdn引用了。效果还不错。
保密就不贴图了QvQ