Creating A 3D Perspective Carousel with jQuery and CSS3 - CSSSlider
| File Size: | 2.83 KB |
|---|---|
| Views Total: | 30411 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
CSSSlider is a simple jQuery script used to create a responsive, animated 3D perspective carousel with CSS3 transitions.
How to use it:
1. Load the needed jQuery JavaScript library in the Html page.
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
2. Wrap your content into DIV elements as shown below.
<div id="wrapper_bu"> <div id="bu1"> Slide 1 </div> <div id="bu2"> Slide 2 </div> <div id="bu3"> Slide 3 </div> <div id="bu4"> Slide 4 </div> <div id="bu5"> Slide 5 </div> </div>
3. The core Javascript to for the 3D perspective carousel.
var Conclave=(function(){
var buArr =[],arlen;
return {
init:function(){
this.addCN();this.clickReg();
},
addCN:function(){
var buarr=["holder_bu_awayL2","holder_bu_awayL1","holder_bu_center","holder_bu_awayR1","holder_bu_awayR2"];
for(var i=1;i<=buarr.length;++i){
$("#bu"+i).removeClass().addClass(buarr[i-1]+" holder_bu");
}
},
clickReg:function(){
$(".holder_bu").each(function(){
buArr.push($(this).attr('class'))
});
arlen=buArr.length;
for(var i=0;i<arlen;++i){
buArr[i]=buArr[i].replace(" holder_bu","")
};
$(".holder_bu").click(function(buid){
var me=this,id=this.id||buid,joId=$("#"+id),joCN=joId.attr("class").replace(" holder_bu","");
var cpos=buArr.indexOf(joCN),mpos=buArr.indexOf("holder_bu_center");
if(cpos!=mpos){
tomove=cpos>mpos?arlen-cpos+mpos:mpos-cpos;
while(tomove){
var t=buArr.shift();
buArr.push(t);
for(var i=1;i<=arlen;++i){
$("#bu"+i).removeClass().addClass(buArr[i-1]+" holder_bu");
}
--tomove;
}
}
})
},
auto:function(){
for(i=1;i<=1;++i){
$(".holder_bu").delay(4000).trigger('click',"bu"+i).delay(4000);
console.log("called");
}
}
};
})();
$(document).ready(function(){
window['conclave']=Conclave;
Conclave.init();
})
4. The required CSS/CSS3 styles for the carousel.
#wrapper_bu {
width: 100%;
height: 100%;
background-color: #ddd
}
.txt_Center { margin: 50% 0% 0% 20% }
.txt_h1 { font-size: 2em }
.holder_bu { cursor: pointer }
.holder_bu_awayL1 {
position: absolute;
top: 30%;
left: 10%;
width: 10%;
height: 40%;
background-color: rgba(0,0,50,0.7);
-webkit-transition: width 1s, height 1s, top 1s, left 1s;
-moz-transition: width 1s, height 1s, top 1s, left 1s;
-o-transition: width 1s, height 1s, top 1s, left 1s;
-ms-transition: width 1s, height 1s, top 1s, left 1s;
transition: width 1s, height 1s, top 1s, left 1s
}
.holder_bu_awayL2 {
position: absolute;
top: 35%;
left: 0%;
width: 10%;
height: 30%;
background-color: rgba(0,0,50,0.5);
-webkit-transition: width 1s, height 1s, top 1s, left 1s;
-moz-transition: width 1s, height 1s, top 1s, left 1s;
-o-transition: width 1s, height 1s, top 1s, left 1s;
-ms-transition: width 1s, height 1s, top 1s, left 1s;
transition: width 1s, height 1s, top 1s, left 1s
}
.holder_bu_center {
position: absolute;
top: 5%;
left: 20%;
width: 60%;
height: 90%;
background-color: #37c;
-webkit-transition: width 1s, height 1s, top 1s, left 1s;
-moz-transition: width 1s, height 1s, top 1s, left 1s;
-o-transition: width 1s, height 1s, top 1s, left 1s;
-ms-transition: width 1s, height 1s, top 1s, left 1s;
transition: width 1s, height 1s, top 1s, left 1s
}
.holder_bu_awayR1 {
position: absolute;
top: 30%;
left: 80%;
width: 10%;
height: 40%;
background-color: rgba(0,0,50,0.7);
-webkit-transition: width 1s, height 1s, top 1s, left 1s;
-moz-transition: width 1s, height 1s, top 1s, left 1s;
-o-transition: width 1s, height 1s, top 1s, left 1s;
-ms-transition: width 1s, height 1s, top 1s, left 1s;
transition: width 1s, height 1s, top 1s, left 1s
}
.holder_bu_awayR2 {
position: absolute;
top: 35%;
left: 90%;
width: 10%;
height: 30%;
background-color: rgba(0,0,50,0.5);
-webkit-transition: width 1s, height 1s, top 1s, left 1s;
-moz-transition: width 1s, height 1s, top 1s, left 1s;
-o-transition: width 1s, height 1s, top 1s, left 1s;
-ms-transition: width 1s, height 1s, top 1s, left 1s;
transition: width 1s, height 1s, top 1s, left 1s
}
This awesome jQuery plugin is developed by jakiron. For more Advanced Usages, please check the demo page or visit the official website.










