这是一款简单的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);
});