这是一款简单的jquery 3d旋转轮播图效果。该轮播图基于bootstrap网格系统,通过jquery和CSS3 transforms来制作3D旋转效果,非常炫酷。
使用方法
在页面中引入bootstrap.min.css,style.css和jquery文件。
<link href="bootstrap.min.css" rel="stylesheet"> <link href="style.css" rel="stylesheet"> <script src="js/jquery.min.js" type="text/javascript"></script>
HTML结构
该轮播图的HTML结构如下:
<div class="wrap"> <section class="cube-container"> <div id="cube"> <figure class="front"> <div class="col-md-8 col-sm-12" style="background-image: url('img/1.jpg');"></div> <div class="col-md-4" style="height:inherit;display:inline-block;"> <article> <img src="img/profile.svg" alt="logo" class="mb-4"> </article> </div> </figure> <figure class="back"> <div class="col-md-8" style="background-image:url('img/2.jpg');"></div> <div class="col-md-4" style="height:inherit;display:inline-block;"> <article> <img src="img/profile.svg" alt="logo" class="mb-4"> <p class="text-center">A bootstrap compatible slider that rotates gracefully in three dimensions</p> </article> </div> </figure> <figure class="right"> <div class="col-md-8" style="background-image:url('img/3.jpg');"></div> <div class="col-md-4" style="height:inherit;display:inline-block;"> <article> <img src="img/profile.svg" alt="logo" class="mb-4"> <p class="text-center">A bootstrap compatible slider that rotates gracefully in three dimensions</p> </article> </div> </figure> <figure class="left"> <div class="col-md-8" style="background-image:url('img/4.jpg');"></div> <div class="col-md-4" style="height:inherit;display:inline-block;"> <article> <img src="img/profile.svg" alt="logo" class="mb-4"> <p class="text-center">A bootstrap compatible slider that rotates gracefully in three dimensions</p> </article> </div> </figure> <figure class="top">5</figure> <figure class="bottom">6</figure> </div> </section> </div> <div class="button-wrap"> <button class="previous">Previous</button> <button class="next">Next</button> </div>
JavaScript
在页面DOM元素加载完毕之后,通过下面的js代码来完成该轮播图的初始化。
var counter = 0; $('.next').on('click', function(){ counter -= 90; var rotation = 'translateZ( -50vw ) rotateY( ' + counter + 'deg )'; $('#cube').css('transform', rotation); }); $('.previous').on('click', function(){ counter += 90; var rotation = 'translateZ( -50vw ) rotateY( ' + counter + 'deg )'; $('#cube').css('transform', rotation); });