Kamis, 30 Januari 2014

Event Toggle Jquery

Selain sebagai efek, fungsi .toggle() juga termasuk dalam event JQuery. Sebelum ini (baca di sini), penerapan efek.toggle() dapat dituliskan seperti ini:

$('button').click(function() {
    $('#elemen').toggle(500);
});


Namun, dalam event kita juga bisa menuliskan fungsi .toggle() seperti ini:

$('#elemen').toggle(function() {
    $(this).css('background-color', 'red');
}, function() {
    $(this).css('background-color', 'blue');
});


Dan tidak hanya sebatas dua aksi saja, .toggle() juga bisa digunakan untuk menangani lebih dari itu. Pada intinya, setiap aksi yang kita tuliskan akan dijalankan setelah aksi sebelumnya telah dijalankan:

$('#elemen').toggle(function() {
    $(this).css('background-color', 'red').animate({width:"120"}, 1000);
}, function() {
    $(this).css('background-color', 'blue');
}, function() {
    $(this).css('background-color', 'yellow');
}, function() {
    $(this).css('background-color', 'green').animate({width:"800"}, 1000);
}, function() {
    $(this).css('background-color', 'black');
});

Fungsi Toggle, Efek Show(), Hide() Jquery

.show() digunakan untuk mengubah objek yang tersembunyi menjadi muncul.
.hide() digunakan untuk menyembunyikan objek.
.toggle() merupakan gabungan antara efek .show() dan .hide(). Jadi, saat elemen sedang muncul, maka .toggle()bertugas untuk menyembunyikannya, sedangkan saat elemen sedang menghilang, maka .toggle() bertugas untuk menampilkannya.

Penulisan Secara Umum

$(sasaran).show(durasi);
$(sasaran).hide(durasi);
$(sasaran).toggle(durasi);
Sasaran: adalah objek yang akan dikenai perintah
Durasi: adalah kecepatan aksi. Nilainya bisa berupa milidetik (misal: 15002000) atau 'slow''normal' dan 'fast'.

Contoh Penerapan Efek .show() dan .hide()

Kita buat dua buah tombol dan sebuah area target. Tombol yang pertama berfungsi untuk menyembunyikan elemen, sedangkan tombol yang ke dua berfungsi untuk memunculkan elemen:

Kerangka

<button class='hilang'>Hilang!</button>
<button class='muncul'>Muncul!</button>
<div id='target'>
    
</div>

CSS

#target {
  background:#9D0053;
  width:190px;
  height:160px;
  padding:5px;
}

Deklarasi JQuery

$(document).ready(function() {
    $('.muncul').click(function() {
        $('#target').show(500);
    });
    $('.hilang').click(function() {
        $('#target').hide(500);
    });
});

Contoh Penerapan Efek .toggle()

Kita buat sebuah tombol dan sebuah area target. Tombol yang kita buat digunakan untuk membuka dan menutup target:

Kerangka

<button class='bukatutup'>Buka/Tutup</button>
<div id='target'>
    
</div>

CSS

#target {
  background:#9D0053;
  width:190px;
  height:160px;
  margin-top:10px;
  padding:5px;
}

Deklarasi JQuery

$(document).ready(function() {
    $('.bukatutup').click(function() {
        $('#target').toggle(500);
    });
});