Membuat Efek Zoom pada Galeri Foto dengan JQuery Zoomooz

Everyone loves images. Image atau Foto memang tidak bisa terpisahkan dari suatu  website. Keberadaan image tentunya akan mempercantik tampilan suatu website. Di dalam suatu website, image dapat berfungsi sebagai background, header, logo, header slider, menu navigasi, dan masih banyak yang lainnya. Selain itu, koleksi image atau foto yang kita miliki juga dapat ditampilkan dalam suatu galeri foto (image gallery) yang akan melengkapi isi dari website kita.

Masih terkait dengan image dan foto, dalam tutorial singkat ini, kita akan membahas mengenai bagaimana membuat galeri foto (image gallery) yang memiliki efek zoom (zooming effect) jika diklik pada salah satu foto. Kita akan menggunakan JQuery dan plugin Zoomooz untuk membuat efek zoom. Penasaran? Langsung aja kita mulai.

Step 1: Import Library Jquery dan Zoomooz.js

Pertama-tama, kita harus mendownload semua library yang diperlukan. Untuk JQuery dapat didownload di situs resminya, http://jquery.com dan untuk plugin Zoomooz dapat didownload di http://janne.aukia.com/zoomooz/. Setelah didownload dan diekstrak, pastikan bahwa kita mengetahui letaknya.

Import library JQuery dan Zoomooz sebagai berikut:

  1. <script type="text/javascript" src="zoomooz/lib/jquery-1.4.4.js"></script>
  2. <script type="text/javascript" src="zoomooz/lib/sylvester.js"></script>
  3. <script type="text/javascript" src="zoomooz/js/purecssmatrix.js"></script>
  4. <script type="text/javascript" src="zoomooz/js/jquery.animtrans.js"></script>
  5. <script type="text/javascript" src="zoomooz/js/jquery.zoomooz.js"></script>

 

Pada baris ke-1 potongan source di atas, diimport library JQuery versi 1.4.4. Sesuaikan dengan versi yang Anda gunakan. Sedangkan pada baris 2-5, kita mengimport beberapa file library yang diperlukan, termasuk library inti zoomooz.js.

Step 2: Persiapkan dan Tampilkan Foto / Image di halaman dengan HTML

Namanya galeri foto ya harus ada fotonya, kalo ga ada fotonya ya aneh toh… hehe. Foto atau image yang akan ditampilkan dapat berasal dari berbagai macam sumber. Antara lain dapat diambil dari kumpulan foto yang kita miliki sendiri, dapat juga diambil dari situs kumpulan foto yang banyak tersedia di internet seperti Flickr, Photobucket, Google Picasa dll. Dalam contoh tutorial ini, kita akan mengambil image / foto dari situs LoremPixum.com yang menyediakan ribuan image siap pakai secara gratis. Cukup dengan mengarahkan source image ke alamat dengan format http://lorempixum.com/600/600/ maka akan menghasilkan gambar secara random dengan ukuran 600 x 600 pixel. Kita juga dapat mengambil image dalam kategori tertentu yang sudah disediakan dengan format http://lorempixum.com/600/600/nature/.

Sementara itu, untuk menampilkan gambar, kita akan “bungkus” dalam sebuah list (un-ordered list). Kita juga membungkus list dalam suatu <div> dengan id “gallery” dan class “zoom”. Hal tersebut untuk mempermudah CSS dan JQuery mengatur tampilan maupun pengaturan. Berikut ini potongan program untuk menampilkan gambar:

  1. <div id="headline">
  2. <h1>Galeri Foto</h1>
  3. <p>Klik pada gambar untuk memperbesar foto dan klik di luar foto untuk memperkecilnya. Keren kan?</p>
  4. </div>
  5.  
  6. <div id="gallery" class="zoom">
  7. <ul>
  8. <li class="zoom"><img src="http://lorempixum.com/600/600/people/1"/></li>
  9. <li class="zoom"><img src="http://lorempixum.com/600/600/people/2"/></li>
  10. <li class="zoom"><img src="http://lorempixum.com/600/600/people/3"/></li>
  11. <li class="zoom"><img src="http://lorempixum.com/600/600/people/4"/></li>
  12. <li class="zoom"><img src="http://lorempixum.com/600/600/people/5"/></li>
  13. <li class="zoom"><img src="http://lorempixum.com/600/600/people/6"/></li>
  14. <li class="zoom"><img src="http://lorempixum.com/600/600/people/7"/></li>
  15. <li class="zoom"><img src="http://lorempixum.com/600/600/people/8"/></li>
  16. <li class="zoom"><img src="http://lorempixum.com/600/600/people/9"/></li>
  17. <li class="zoom"><img src="http://lorempixum.com/600/600/people/10"/></li>
  18. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/1"/></li>
  19. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/2"/></li>
  20. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/3"/></li>
  21. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/4"/></li>
  22. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/5"/></li>
  23. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/6"/></li>
  24. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/7"/></li>
  25. <li class="zoom"><img src="http://lorempixum.com/600/600/nature/8"/></li>
  26. </ul>
  27. </div>

 

Step 3: Percantik Galeri Foto dengan CSS

Tanpa peran CSS, tampilannya tentu masih kurang menarik. Terlihat cukup berantakan. Kita akan memberikan “tugas” kepada CSS untuk mengatur tampilan halaman secara umum seperti font, perataan dan sebagainya, lalu untuk mengatur tampilan image agar berjajar dalam sejumlah baris dan kolom. CSS juga yang akan mengatur ukuran halaman menjadi lebih kecil (thumbnail) dengan ukuran 100 x 100 pixel.

Berikut ini potongan program CSS yang kita gunakan:

  1. <style type="text/css">
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. }
  6.  
  7. /*Text Styles*/
  8.  
  9. #headline {
  10. text-align: center;
  11. margin: 20px 0;
  12. }
  13.  
  14. h1 {
  15. font-family: 'Arvo', Georgia, Times, serif;
  16. font-size: 50px;
  17. line-height: 65px;
  18. }
  19.  
  20. p {
  21. font-family: 'PT Sans', Helvetica, Arial, sans-serif;
  22. font-size: 13px;
  23. line-height: 25px;
  24. }
  25. /*Gallery Styles*/
  26.  
  27. #gallery {
  28. width: 720px;
  29. height: 370px;
  30. margin: 0 auto;
  31. padding: 10px;
  32. background: #383131;
  33. }
  34.  
  35. /*List Styles*/
  36. ul {
  37. list-style-type: none;
  38. position: absolute;
  39. width: 720px;
  40. }
  41.  
  42. #gallery ul li {
  43. float: left;
  44. margin: 10px;
  45. background: white;
  46. height: 100px;
  47. width: 100px;
  48. }
  49.  
  50. #gallery ul li:hover {
  51. border: 3px solid white;
  52. margin: 7px;
  53. }
  54.  
  55. #gallery ul li img{
  56. height: 100px;
  57. width: 100px;
  58. }
  59.  
  60. </style>

 

Step 4: Terapkan Efek Zoom

Langkah terakhir sebelum kita lihat hasilnya adalah menerapkan efek zoom saat suatu image / foto diklik. Untuk melakukannya tidaklah sulit, karena cukup memanggil fungsi yang sudah didefinisikan oleh plugin JQuery, yaitu Zoomooz. Berikut ini potongan programnya.

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $(".zoom").click(function(evt) {
  4. evt.stopPropagation();
  5. $(this).zoomTo();
  6. });
  7. $(window).click(function(evt) {
  8. evt.stopPropagation();
  9. $("body").zoomTo();
  10. });
  11. $("body").zoomTo();
  12. });
  13. </script>

 

Untuk membuat suatu object memiliki efek perbesar (zoom) saat diklik, cukup dengan memanggil fungsi zoomTo(). Pada baris 3-6 terlihat selector class “zoom” akan menjadikan image dan area gallery memiliki efek zooming. Sementara itu, baris 7-11 akan menjadikan halaman secara keseluruhan juga memiliki efek zoom saat diklik.

Step 5: Coba dan Lihat hasilnya.

Terakhir, mari kita lihat dan coba hasilnya.

Tampilan Galeri Foto dengan JQuery Zoomooz

Tampilan Awal Halaman Galeri Foto

 

Tampilan Foto Saat Diklik (Zooming)
Tampilan Foto Saat Diklik (Zooming)

 

Demo dan Download

Referensi

Comments
  1. 751 days ago
    • 751 days ago
      • 640 days ago
  2. 750 days ago
  3. 747 days ago
  4. 746 days ago
  5. 746 days ago
  6. 746 days ago
  7. 746 days ago
  8. 746 days ago
  9. 746 days ago
  10. 744 days ago
  11. 744 days ago
  12. 741 days ago
  13. 739 days ago
  14. 739 days ago
  15. 739 days ago
  16. 739 days ago
  17. 737 days ago
  18. 737 days ago
  19. 698 days ago
  20. 691 days ago
  21. 681 days ago
  22. 662 days ago
  23. 662 days ago
  24. 653 days ago
  25. 623 days ago
  26. 620 days ago
  27. 608 days ago
  28. 608 days ago
  29. 603 days ago
  30. 588 days ago
  31. 577 days ago
  32. 546 days ago
  33. 493 days ago
  34. 483 days ago
  35. 467 days ago
  36. 450 days ago
  37. 369 days ago
    • 365 days ago
  38. 200 days ago
  39. 170 days ago
  40. 166 days ago

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>