3D Transforms Based jQuery Image Carousel / Rotator
| File Size: | 9 KB |
|---|---|
| Views Total: | 3213 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
jQuery CSS Carousel uses CSS3 3D transforms to render a 3D perspective hexagon image carousel / rotator with next / prev navigation buttons on your webpage.
How to use it:
1. Add images and navigation buttons into the carousel following the markup structure as follows:
<div id="carousel">
<div id="container" tcc-rotation="0">
<item tc-rotation="120" style="transform: rotateY(120deg) translateZ(200px)"><img src="1.jpg"></item>
<item tc-rotation="240" style="transform: rotateY(240deg) translateZ(200px)"><img src="2.jpg"></item>
<item tc-rotation="180" style="transform: rotateY(180deg) translateZ(200px)"><img src="3.jpg"></item>
<item tc-rotation="0" style="transform: rotateY(0deg) translateZ(200px)"><img src="4.jpg"></item>
<item tc-rotation="-60" style="transform: rotateY(-60deg) translateZ(200px)"><img src="5.jpg"></item>
<item tc-rotation="60" style="transform: rotateY(60deg) translateZ(200px)"><img src="6.jpg"></item>
</div>
<nav class="tc-btn-container">
<div class="tc-next">NEXT</div>
<div class="tc-prev">PREV</div>
</nav>
</div>
2. The required CSS / CSS3 styles for the carousel.
#carousel {
display: block;
height: auto;
margin: 0 auto;
-webkit-perspective: 80px;
perspective: 800px;
position: relative;
top: 200px;
width: 800px;
}
#container {
display: block;
height: 200px;
margin: 0 auto;
transform: rotateY(0deg);
-webkit-transform-origin: center bottom 0;
transform-origin: center bottom 0;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
width: 200px;
}
item {
display: block;
margin: 0;
padding: 0;
width: 200px;
transform: translateZ(400px);
position: absolute;
}
item img { width: 100%; }
.tc-btn-container {
display: block;
float: left;
height: 35px;
margin-top: -12.5px;
position: absolute;
top: 50%;
width: 100%;
}
.tc-next {
background-color: #333;
color: white;
display: block;
float: right;
font-size: 12px;
padding: 10px;
width: auto;
cursor: pointer;
}
.tc-prev {
background-color: #333;
color: white;
display: block;
float: left;
font-size: 12px;
padding: 10px;
width: auto;
cursor: pointer;
}
3. Put the necessary jQuery JavaScript library at the end of the document.
<script src="//code.jquery.com/jquery-2.2.1.min.js"></script>
4. The main JavaScript to active the 3D image carousel.
$(document).ready(function($){
var crotation;
var rotateto = 0;
var halfrotation = 180;
function tcRotate(deg){
$('#container').css({
'transform' : 'rotateY('+ deg +'deg)',
'-webkit-transform' : 'rotateY('+ deg +'deg)'
});
}
$('item').on('click', function(e){
e.preventDefault();
crotation = $('#container').attr('tcc-rotation');
rotation = $(this).attr('tc-rotation');
rotateto = crotation - rotation;
tcRotate(rotateto);
crotation = rotateto;
});
$('.tc-next').on('click', function(e){
e.preventDefault();
rotateto -= 60;
tcRotate(rotateto);
});
$('.tc-prev').on('click', function(e){
e.preventDefault();
rotateto += 60;
tcRotate(rotateto);
});
});
Change log:
2016-06-11
- added a parallax demo & js
2016-03-01
- minor fixes.
2016-02-29
- minor fixes.
This awesome jQuery plugin is developed by marffinn. For more Advanced Usages, please check the demo page or visit the official website.










