Nivo
adalah JQuery slider yang paling fleksibel dalam hal konfigurasi.
Terdapat begitu banyak pilihan yang dapat Anda gunakan di dalamnya.
Dimulai dari menentukan efek spesifik, kontrol navigasi sampai kepada
fungsi-fungsi tambahan. Namun pada intinya, Nivo adalah slider yang bisa
bekerja pada sebagian besar versi JQuery:
Slider Nivo dibangun dari elemen <img> yang diliputi oleh elemen <div class='nivoSlider'></div>:
HTML
<!DOCTYPE html><html><head><title>Demo Nivo Slider</title><linkrel='stylesheet'href='style/style.css'type='text/css'></link><scripttype='text/javascript'src='scripts/jquery.js'></script><scripttype='text/javascript'src='scripts/jquery.nivo.slider.js'></script></head><body><divclass='nivoSlider'><ahref='#'><imgsrc='images/1.jpg'alt=''title='Aku tidak akan pernah tahu' /></a><ahref='#'><imgsrc='images/2.jpg'alt=''title='Bahwa ini dan mereka itu tidak akan pernah identik' /></a><ahref='#'><imgsrc='images/3.jpg'alt=''title='Sebuah kenyataan yang lucu' /></a><ahref='#'><imgsrc='images/4.jpg'alt=''title='Meski seringkali begitu menyakitkan' /></a></div><scripttype='text/javascript'>
$(window).load(function() {
$('div.nivoSlider').nivoSlider();
});
</script></body></html>
CSS
.nivoSlider{
position:relative;background:#fffurl(loading.gif) no-repeat 50% 50%;width:618px;/* Samakan dengan lebar gambar */height:246px;/* Samakan dengan tinggi gambar */}.nivoSliderimg{
position:absolute;top:0px;left:0px;display:none;/* Menghilangkan semua gambar saat halaman masih memuat */}.nivoSlidera{
border:0;display:block;}.nivoSlidera.nivo-imageLink{
position:absolute;top:0px;left:0px;width:100%;height:100%;border:0;padding:0;margin:0;z-index:6;display:none;}/* Elemen palsu yang diciptakan oleh jquery.nivo.slider.js
berupa potongan-potongan gambar */.nivo-slice{
display:block;position:absolute;z-index:5;height:100%;}.nivo-box{
display:block;position:absolute;z-index:5;}/* Deskripsi setiap slide */.nivo-caption{
position:absolute;left:0px;bottom:0px;background:#000;color:#fff;opacity:0.8;width:100%;z-index:8;}.nivo-captionp{
padding:5px 10px;margin:0;}.nivo-captiona{display:inline !important;}.nivo-html-caption{display:none;}/* Navigasi Next & Prev */.nivo-directionNava{
position:absolute;top:45%;z-index:9;cursor:pointer;}.nivo-prevNav{left:0px;}.nivo-nextNav{right:0px;}.nivo-controlNav{
position:absolute;top:10px;right:15px;}/* Navigasi 1,2,3... */.nivo-controlNava{
font:normal 10px Verdana,Arial,Sans-Serif;color:white;text-decoration:none;position:relative;z-index:9;cursor:pointer;background-color:#111;width:17px;padding:2px 0px 3px;margin:0px 1px;text-align:center;display:inline-block;*display:inline;}.nivo-controlNava.active{
background-color:#3399ff;}/* Detail navigasi Next & Prev */.nivo-directionNava{
display:block;width:30px;height:30px;background:url(arrows.png) no-repeat;text-indent:-9999px;border:0;}a.nivo-nextNav{background-position:-30px 0;right:15px;}a.nivo-prevNav{left:15px;}/* Detail caption gambar */.nivo-caption{font:bold 12px Arial,Sans-Serif;}.nivo-captiona{color:#fff;border-bottom:1px dotted #fff;}.nivo-captiona:hover{color:#fff;}
Detail Slider NivoUntuk menjalankan slider cukup dengan menerapkan fungsi .nivoSlider() secara langsung pada elemen pembungkusnya. Kode di bawah ini akan mengubah daftar gambar menjadi slider dengan opsi default dari script Nivo yang telah terpasang:
Menentukan jumlah slice (jumlah potongan gambar vertikal) (default:15)
boxCols
Menentukan jumlah kolom untuk efek berupa blok-blok potongan gambar (default:8)
boxRows
Menentukan jumlah baris untuk efek berupa blok-blok potongan gambar (default:4)
animSpeed
Menentukan kecepatan animasi (default:500)
pauseTime
Menentukan lama slide berhenti sebelum memulai berganti menuju slide berikutnya (default:3000)
startSlide
Menentukan slide nomor ke berapa yang akan terlihat lebih dulu saat slideshow dimulai (default:0)
directionNav
Jika bernilai false, navigasi Next & Prev akan menghilang (default:true)
directionNavHide
Jika bernilai false, navigasi Next & Prev akan selalu terlihat (default:true :: navigasi akan disembunyikan saat pointer berada di luar slider)
controlNav
Jika bernilai false, navigasi 1, 2, 3, ... akan menghilang (default:true)
controlNavThumbs
Jika bernilai true, navigasi 1, 2, 3, ... akan berubah menjadi thumbnail gambar, namun opsi ini memiliki beberapa syarat tambahan (default:false)
controlNavThumbsFromRel
Jika bernilai true, navigasi thumbnail gambar akan mengambil data URL gambar thumbnail dari atribut rel di dalam setiap slide (default:false)
keyboardNav
Jika bernilai false, fasilitas navigasi menggunakan keyboard akan dinonaktifkan (default:true)
pauseOnHover
Jika bernilai false, animasi slide akan terus berjalan meskipun pointer sedang berada di atas slide (default:true)
manualAdvance
Jika bernilai true,
efek perpindahan slide akan dilakukan secara manual, yaitu dengan cara
mengeklik navigasi Next/Prev atau 1, 2, 3, ... atau menggunakan tombol
panah pada keyboard (default:false)
captionOpacity
Menentukan tingkat transparasi deskripsi slide (caption
gambar). Sebenarnya ini tidak terlalu penting dan hanya digunakan untuk
mengatasi masalah validasi CSS transparasi (default:0.8)
Di sini Saya hanya akan memberikan sedikit halaman demo. Untuk demo selengkapnya sudah ada di dalam file download.
Menentukan Efek Spesifik
Nivo
memiliki beberapa efek di damanya. Normalnya akan ditampilkan secara
acak. Efek-efek tersebut diantaranya bisa Anda lihat di dalam kode
sumber jquery.nivo.slider.js:
Secara normal, jumlah slice adalah 15 dan box
sebanyak 8 × 4. Namun kita bisa memodifikasinya. Yang penting pastikan
saja Anda menggunakan angka-angka yang sesuai dengan pembagian lebar dan
tinggi gambar agar hasilnya tidak berantakan. Misalnya, jika ukuran
gambar yang digunakan untuk membuat slider adalah 200 × 100, buatlah
jumlah slice sebanyak 10 atau 20 dan jangan membuat jumlah slice sebanyak 13, 17, 70, ... karena ini akan membuat slider menjadi tersentak-sentak. Selain itu jangan terlalu banyak menciptakan slice, itu akan membuat peramban macet untuk sesaat (misalnya muncul peringatan: the script on this page is too busy blah blah blah...):
$('div.nivoSlider').nivoSlider({
slices:20, // Menentukan jumlah slice sebanyak 20
boxCols:5, // Menentukan jumlah kolom sebanyak 5
boxRows:4// Menentukan jumlah baris sebanyak 4
});
Mengubah Kecepatan Animasi
Kecepatan animasi bisa diubah dengan mudah. Saya rasa setelah Anda membaca tabel Anda bisa dengan mudah memahami ini:
Menampilkan Slide ke 4 Terlebih Dahulu Sebagai Pemicu Pertama
Dalam
JavaScript, urutan objek umumnya dimulai dari 0, jadi pastikan Anda
tidak keliru dengan ini. Jika ingin menampilkan slide ke empat sebagai
slide pertama yang ditampilkan, maka Anda harus menuliskan nilai 3 pada opsi startSlide:
$('div.nivoSlider').nivoSlider({startSlide:3});
Menghilangkan Semua Navigasi
Menghilangkan semua navigasi dapat dilakukan dengan cara menuliskan nilai false
pada semua opsi yang berhubungan dengan navigasi jalan pintas. Jika
perlu, nonaktifkan juga fasilitas navigasi keyboard sehingga pengunjung
tidak akan bisa melakukan apapun kecuali menatap slider sampai
pertunjukan berakhir. Ini jika Anda ingin menguji kesabaran pengunjung:
Secara
normal, navigasi Next & Prev tidak akan menampilkan teks apapun.
Karena di dalam temanya indentasi teks memang sudah diset agar tidak
terlihat untuk mengubah tampilannya menjadi berupa gambar panah kiri dan
kanan:
Nivo memiliki beberapa hal yang akan membuat semua pengaturan menjadi jauh lebih praktis dan masuk akal. Pertama, teks di dalam caption (pita hitam berisi deskripsi slide) diproduksi dari atribut title pada gambar. Begitu pula dengan thumbnail. Untuk menciptakan thumbnail, syarat pertama yang harus Anda penuhi adalah membuat beberapa gambar kecil sebagai thumbnail kemudian memasukkan URL gambar tersebut ke dalam atribut rel yang telah ditambahkan ke dalam setiap gambar:
Setelah atribut rel ditambah, maka thumbnail akan secara otomatis diproduksi pada kontrol navigasi. Namun saat ini thumbnail masih tidak bisa terlihat karena pengaturan default
dalam CSS dan dalam JQuery masih belum mengizinkan untuk menampilkan
gambar. Anda harus memodifikasi kode CSS di dalamnya untuk mengaktifkan thumbnail dan mengaktifkan fitur navigasi thumbnail pada opsi (baca: Using Thumbnail with the Nivo Slider):
/* Control nav styles (e.g. 1,2,3...) */.nivo-controlNava{
position:relative;z-index:9;cursor:pointer;margin:0px 1px;display:inline-block;*display:inline;}.nivo-controlNavimg{
display:block;position:relative;border:2px solid #111;opacity:0.7;}
Itu semua adalah fungsi-fungsi kosong yang bisa Anda modifikasi berdasarkan waktu fungsi tersebut dijalankan:
Opsi
Keterangan
beforeChange
Digunakan untuk menjalankan aksi sebelum slide berganti
beforeChange
Digunakan untuk menjalankan aksi sebelum slide berganti
afterChange
Digunakan untuk menjalankan aksi setelah slide berganti
slideshowEnd
Digunakan untuk menjalankan aksi setelah slideshow berakhir
lastSlide
Digunakan untuk menjalankan aksi saat animasi telah mencapai slide terakhir
afterLoad
Digunakan untuk menjalankan aksi saat slider telah selesai dimuat
Katakanlah
kita akan menciptakan fungsi-fungsi tambahan yang akan dijalankan
secara otomatis berdasarkan pembagian waktu seperti pada tabel di atas.
Ini cuma contoh saja. Dalam kenyataannya, fungsi bisa bermacam-macam. Di
sini Saya akan menggunakan JQuery .text() dan fungsi alert() sebagai percobaan:
Jangan
terpaku pada tema yang itu-itu saja. Cobalah untuk mengubah posisi
navigasi, deskripsi slide, warna latar dan yang lain untuk menciptakan
tema sendiri. Semoga sukses!
Comments
Post a Comment