Wednesday, October 12, 2011

JQuery .show(), .hide() dan .toggle()

jquery toggle show hide

.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: 1500, 2000) 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'>
    <!-- Konten di Sini -->
</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'>
    <!-- Konten di Sini -->
</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);
    });
});

Labels: ,

23 Comments:

At Thursday, October 13, 2011 at 5:09:00 AM GMT+7, Blogger Sinto said...

Wah Tambahain Lebih Banyak Lagi, gan tutor jquery nya, soalnya pengen belajar jquery lebih banyak

 
At Sunday, January 29, 2012 at 7:01:00 PM GMT+7, Blogger ageng said...

kalo hide dulu baru show yg di "buka/tutup" tuh gimana ya?

artinya kalo kita mau membuka halaman dan ada menu "buka/tutup" seperti itu. kita tidak bisa melihat konten yang ada di dalamnya. kita bisa melihatnya kalo kliki "buka/tutup" dulu.

mohon penjelasannya
rexcarnation@gmail.com

makasih.. :)

 
At Tuesday, January 31, 2012 at 9:27:00 AM GMT+7, Blogger Taufik Nurrohman said...

@Rexcarnation: Tambahkan display:none pada elemen yang akan dihilangkan pada awal pembukaan halaman. Misalnya, untuk menghilangkan elemen #target saat pertama dilihat adalah seperti ini:

#target {
...
...
...
display:none;
}


Atau bisa juga menggunakan fungsi .hide() untuk menghilangkan elemen pada saat awal halaman diakses seperti ini:

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

 
At Monday, February 6, 2012 at 3:09:00 PM GMT+7, Blogger ageng said...

@Taufik Nurrohman :
Terima kasih banyak gan.. its work..

 
At Thursday, March 8, 2012 at 9:41:00 AM GMT+7, Blogger Putra said...

@Taufik Nurrohman ikutan nggabung boleh yah :D sekalian belajar..
udah saya coba kalo saya pakai .hide() dijequerynya malah error, tapi kalau pake css display:none malah normal
kok bisa begitu yah??

 
At Saturday, March 31, 2012 at 9:16:00 AM GMT+7, Blogger Unknown said...

sediakan versi buat di downloadnya dong gan.. plizzz

 
At Wednesday, June 6, 2012 at 1:14:00 PM GMT+7, Blogger Bayu Handono said...

kalo fungsi clicknya diganti sama fungsi hover bisa ga mas??

 
At Thursday, June 7, 2012 at 8:58:00 AM GMT+7, Blogger Taufik Nurrohman said...

@Bayu Handono Bisa:

$('.sentuh').hover(function() {
$('#target').hide('slow');
}, function() {
$('#target').show('slow');
});


Demo: http://jsfiddle.net/tovic/EwNRJ/83/

 
At Thursday, June 7, 2012 at 9:58:00 PM GMT+7, Blogger Bayu Handono said...

@Taufik Nurrohman sip2 sudah bisa mas :)

 
At Saturday, June 16, 2012 at 8:22:00 PM GMT+7, Blogger Mitra kreasi said...

@Taufik Nurrohman
penempatan jQueerynya dimana suhu?

 
At Monday, September 17, 2012 at 9:36:00 PM GMT+7, Blogger Unknown said...

mas mau nanya kalau tombol muncul/hilang itu bisa dibikin jadi satu gak

ketika kita buka muncul otomatis button berganti ke tulisan tutup dan begitu jga sebaliknya
makasih mas

 
At Monday, September 17, 2012 at 10:04:00 PM GMT+7, Blogger Taufik Nurrohman said...

Untuk kasus ini lebih baik gunakan event .toggle() dan juga manipulasi .text() untuk mengganti label tombol secara bergantian:

$('button').toggle(function() {
$(this).text('Tutup!');
$('#panel').slideDown();
}, function() {
$(this).text('Buka!');
$('#panel').slideUp();
});


Demo: http://jsfiddle.net/tovic/EwNRJ/217/

 
At Wednesday, September 19, 2012 at 11:50:00 PM GMT+7, Blogger Unknown said...

:( :'( makasih mas

mau nanya lagi ni mas kalau tombolnya ("tutup/Buka") di kasi CSS bsa gak?
biar tambah indah di pandang gtu

hehehe sekali lagi makasi mas

 
At Thursday, September 20, 2012 at 10:36:00 AM GMT+7, Blogger Taufik Nurrohman said...

Baca: Daftar CSS Desain Button

 
At Monday, November 12, 2012 at 12:07:00 PM GMT+7, Blogger Bang Randy said...

kalau yang mesti didrag itu gmana bang?

 
At Tuesday, November 13, 2012 at 8:21:00 PM GMT+7, Blogger Bang Randy said...

ituloh mesti kita geser tekan mouse dulu baru dia muncul, oh ya koq yang efek slide up itu gak jalan ya di blog aq?
niy blog q omaresep.blogspot.com

 
At Wednesday, November 14, 2012 at 10:31:00 AM GMT+7, Blogger Bang Randy said...

oya bang blognya masih q rahasiain hehe email abang apa tar aq add dulu biar bisa liat

 
At Tuesday, February 19, 2013 at 11:56:00 AM GMT+7, Blogger Unknown said...

Misi Mas, Mau tanya?
ada g yah CSS Spoiler yang buka / tutupnya dengan effect mouse -over

makasih mas

 
At Tuesday, February 19, 2013 at 8:21:00 PM GMT+7, Blogger Taufik Nurrohman said...

/2012/02/membuat-auto-expand-blockquote.html

 
At Saturday, October 18, 2014 at 10:48:00 PM GMT+7, Blogger azewBz said...

mas setelah saya membuat overlay ko ga muncul ya?
ini contohnya :

[url=http://jsfiddle.net/azewbz/cuhyqtxd/[/url]

 
At Friday, October 24, 2014 at 8:46:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kamu menambahkan $('#overlay').hide() di bagian bawah, ya jelas saja overlay tidak akan muncul… → http://jsfiddle.net/cuhyqtxd/1

 
At Sunday, November 16, 2014 at 4:18:00 AM GMT+7, Blogger azewBz said...

akhirnya sya naya lgi. oh iya ini mas pda bagian gambar buka/tutup, saya ubah dengan fonts dri fortawesome pda bagian buka bisa tpi pas bagian tutup emang tampil cuman tidk berfungsi. pdhal saya udh coba utak atik.

 
At Friday, November 21, 2014 at 10:10:00 AM GMT+7, Blogger Taufik Nurrohman said...

Mugkin karena nama kelasnya berubah.

 

Post a Comment

<< Home