Kali ini saya akan berbagi cara membuat image slider dengan tampilan 3D. Cara ini sangat efisien karena hanya menggunakan sedikit script.
Untuk CSS nya agan bisa copy langsung kode dibawah ini:
#controls{ text-align:center; } #controls span { padding-right:2em; cursor:pointer; } #kubusKece { -webkit-perspective: 800; -moz-perspective: 800px; -ms-perspective: 800; perspective: 800; -webkit-perspective-origin: 50% 100px; -moz-perspective-origin: 50% 100px; -ms-perspective-origin: 50% 100px; perspective-origin: 50% 100px; margin:100px auto 20px auto; width:450px; height:400px; } #kubusKece #kubusSpinner { position: relative; margin: 0 auto; height: 281px; width: 450px; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform-origin: 50% 100px 0; -moz-transform-origin: 50% 100px 0; -ms-transform-origin: 50% 100px 0; transform-origin: 50% 100px 0; -webkit-transition:all 1.0s ease-in-out; -moz-transition:all 1.0s ease-in-out; -ms-transition:all 1.0s ease-in-out; transition:all 1.0s ease-in-out; } #kubusKece #Ykubus,#kubusKece #Zkubus { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } #kubusKece .face { position: absolute; height: 281px; width: 450px; padding: 0px; } #kubusSpinner .one { -webkit-transform: translateZ(225px); -moz-transform: translateZ(225px); -ms-transform: translateZ(225px); transform: translateZ(225px); } #kubusSpinner .two { -webkit-transform: rotateY(90deg) translateZ(225px); -moz-transform: rotateY(90deg) translateZ(225px); -ms-transform: rotateY(90deg) translateZ(225px); transform: rotateY(90deg) translateZ(225px); } #kubusSpinner .three { -webkit-transform: rotateY(180deg) translateZ(225px); -moz-transform: rotateY(180deg) translateZ(225px); -ms-transform: rotateY(180deg) translateZ(225px); transform: rotateY(180deg) translateZ(225px); } #kubusSpinner .four { -webkit-transform: rotateY(-90deg) translateZ(225px); -moz-transform: rotateY(-90deg) translateZ(225px); -ms-transform: rotateY(-90deg) translateZ(225px); transform: rotateY(-90deg) translateZ(225px); }
Setelah itu agan tinggal masukin sedikit javascript berikut ini:
<script> $(document).ready(function() { $("#controls").on('click', 'span', function(){ $("#kubusSpinner").css("transform","rotateY("+($(this).index() * -90)+"deg)"); $("#controls span").removeClass("selected"); $(this).addClass("selected"); }); $("#transparency").click(function() { $("#kubusSpinner img").toggleClass("trans"); $(this).toggleClass("selected"); }); }); </script>
Di bagian HTML, agan bisa memilih hingga 4 gambar sesuai keinginan dan sisipkan di kode dibawah ini:
<div id="kubusKece"> <div id="kubusSpinner"> <div class="face one"> <img src="images/gambar1.jpg" width="450px" height="281px" /> </div> <div class="face two"> <img src="images/gambar2.jpg" width="450px" height="281px" /> </div> <div class="face three"> <img src="images/gambar3.jpg" width="450px" height="281px" /> </div> <div class="face four"> <img src="images/gambar4.jpg" width="450px" height="281px" /> </div> </div> </div>
<p id="controls">
<span class="selected"> Gambar 1 </span>
<span> Gambar 2 </span>
<span> Gambar 3 </span>
<span> Gambar 4 </span>
</p>
Agan juga bisa mengatur transparancy dari gambar-gambar tersebut dengan menambahkan kode dibawah ini ke dalam CSSnya :
#transparency { text-align:center; }
.trans { opacity:0.5; }
Lalu menambahkan kode ini ke dalam HTML tadi :
<p id="transparency">Klik untuk melihat transparansi</p>
Jangan lupa untuk menaruh gambar-gambar agan di folder "Images" dan yang paling penting jangan lupa memanggil jquery.min.js di bagian head. Sisipkan saja kode ini di bagian head :
<script src="js/jquery.min.js"></script>
jquery.min.js tersebut harus ditaruh dalam folder "js" ya gan.. biar lebih rapi.. hehe
Untuk melihat hasilnya, agan bisa mencoba download contoh yang saya buat dari link yang telah disediakan.
Sekian dulu panduan dari saya untuk membuat image slider 3D, nantikan tutorial selanjutnya ya.