Sunday, February 12, 2012

Membuat Spoiler Sederhana dengan jQuery

Spoiler Sederhana dengan jQuery

Spoiler ini memiliki satu kelebihan penting, yaitu hanya menggunakan satu elemen tunggal. Itu artinya bahwa proses instalasi menjadi jauh lebih mudah. Elemen tombol pembuka/penutup spoiler tidak perlu kita sertakan di sini karena jQuery akan menyisipkan tombol tersebut secara otomatis pada masing-masing elemen target:

Lihat Demo

Pertama-tama pastikan dulu bahwa tema Anda sudah dilengkapi dengan jQuery » baca di siniSetelah itu salin kode ini, kemudian letakkan tepat di atas kode </head>:

<script>
//<![CDATA[
    $(function() {
        $('blockquote.spoiler').hide(1000).before('<button class="sp-trigger">Lihat Konten</button>');
        $('button.sp-trigger').toggle(function() {
            $(this).addClass('sp-active').text('Tutup').next().slideDown(1000);
        }, function() {
            $(this).removeClass('sp-active').text('Lihat Konten').next().slideUp(1000);
        });
    });
//]]>
</script>

Salin kode CSS ini dan letakkan di atas kode ]]></b:skin> atau </style>:

/*
 Spoiler sederhana dengan jQuery
*/
blockquote.spoiler {
  font:normal normal 11px/16px Verdana,Arial,Sans-Serif;
  color:#666;
  border:2px dashed #cec2c2;
  background-color:#eee2e2;
  padding:18px 20px;
  -webkit-box-shadow:inset 0px 0px 7px #222;
  -moz-box-shadow:inset 0px 0px 7px #222;
  box-shadow:inset 0px 0px 7px #222;
  margin:0px 30px 15px;
  /*
  overflow:auto;
  height:250px;
  (opsional) */
}

button.sp-trigger {
  display:block;
  outline:none;
  cursor:pointer;
  margin:20px 0px 10px 30px;
  border:none;
  background-color:green;
  font:bold 11px Verdana,Arial,Sans-Serif;
  color:white;
  text-shadow:0px 1px 0px rgba(0,0,0,0.4);
  padding:5px 10px;
  -webkit-border-radius:15px;
  -moz-border-radius:15px;
  border-radius:15px;
  -webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.4);
  -moz-box-shadow:0px 1px 2px rgba(0,0,0,0.4);
  box-shadow:0px 1px 2px rgba(0,0,0,0.4);
}

button.sp-trigger.sp-active {background-color:#981515}

Klik Simpan Tema. Sekarang masuklah ke editor posting.

Untuk membuat spoiler, Anda cukup menambahkan elemen <blockquote> dengan atribut berupa class="spoiler":

<blockquote class="spoiler">
    Konten di sini...
</blockquote>

Sudah Kenal dengan Fungsi-Fungsi Ini?

Cobalah untuk memodifikasi spoiler ini dengan cara memahami beberapa fungsi di bawah :)

Labels: ,

24 Comments:

At Monday, February 20, 2012 at 12:19:00 AM GMT+7, Blogger Kholiz Apra said...

ma'f mas
punya saya tombolnya kok gak ada, spoilernya langsung terbuka sendiri
mohon penjelasanya

 
At Monday, February 20, 2012 at 3:24:00 PM GMT+7, Blogger Taufik Nurrohman said...

@Kholiz Apra: JQuery-nya sudah dipasang belum? ⇒ Pertama-tama pastikan dulu bahwa template Anda sudah dilengkapi dengan JQuery

 
At Monday, February 20, 2012 at 3:33:00 PM GMT+7, Blogger Taufik Nurrohman said...

@Kholiz Apra: Blognya yang http://kholiz-apra.blogspot.com kan? Di situ sudah ada s3slider (Slideshow di sebelah atas posting), itu tandanya JQuery sudah terpasang sejak pertama kali masnya mengupload template itu. Seharusnya sih spoilerny sudah jadi tanpa harus menambahkan JQuery.

 
At Monday, February 20, 2012 at 5:01:00 PM GMT+7, Blogger Kholiz Apra said...

trus gimana ya cara mengatasinya

 
At Tuesday, February 21, 2012 at 12:43:00 AM GMT+7, Blogger Taufik Nurrohman said...

@Kholiz Apra: Kalau sudah mengikuti caranya dengan benar harusnya jadi. Kalau Saya gagal, biasanya Saya akan coba melepas semua editan lalu mengulang dari awal lagi. Oya, kalau spoilernya tetep kebuka karena halamannya belum selesai termuat semuanya, coba tunggu sampai termuat semua.

 
At Wednesday, February 22, 2012 at 10:15:00 PM GMT+7, Blogger Kholiz Apra said...

makasih mas,
spoilernya sudah berfungsi.
dan klw boleh link blog mas mau saya taruh di blog saya.

 
At Friday, February 24, 2012 at 5:55:00 AM GMT+7, Blogger Kholiz Apra said...

ok, mkasih...

 
At Saturday, April 7, 2012 at 11:04:00 PM GMT+7, Blogger MUX SPARROW said...

Ajeb, Gan.. udah ay pasang di [pramuxlair.blogspot.com] :-bd

 
At Sunday, May 6, 2012 at 9:04:00 AM GMT+7, Blogger Unknown said...

Mas, dneng une Q ra dadi ya,
Coba lihat postingan aku yang Modern Combat 2


Perasaan aku dah kasih jQuery,

Kalau belum, jQuerynya harusnya taruh di mana mas, ?
Di bawah kode
head

 
At Thursday, May 17, 2012 at 3:31:00 PM GMT+7, Blogger Taufik Nurrohman said...

@trii waluyo Di atas kode </head> atau di bawah kode <head> (di antara wilayah kekuasaan HEAD).

 
At Tuesday, June 5, 2012 at 9:48:00 PM GMT+7, Blogger Mitra kreasi said...

trims pisannn!!!
kalo mau ganti background konten gimana ya boss...
mohon pencerahannya

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

@Ohim Tumaritiz Atur tampilannya pada bagian ini:

blockquote.spoiler {
border:2px dashed #cec2c2;
background-color:#eee2e2;
}

 
At Thursday, June 7, 2012 at 11:20:00 PM GMT+7, Blogger Mitra kreasi said...

@Taufik Nurrohman Okeh... \o/ trima kasih Suhu.izin singgah lagi nih,kalo mau pasang lebih dari satu pada Posting bisa di gonta ganti judul tombolnya ga?kalo bisa Kasih tau Caranya yah Suhu?thanks pisan...

 
At Friday, June 8, 2012 at 3:45:00 PM GMT+7, Blogger Taufik Nurrohman said...

@Ohim Tumaritiz Ide bagus. Saya mencoba memodifikasi widget ini di sini » klik!

Setiap label tombol pembuka disimpan di dalam atribut data-open dan tombol penutup disimpan di dalam atribut data-close:

<blockquote class="spoiler" data-open="Buka Spoiler!" data-close="Tutup Spoiler!">
Konten di sini...
</blockquote>


Perbaharui juga kode JQuery di atas menjadi seperti ini:

<script type="text/javascript">
//<![CDATA[
$(function() {
$('blockquote.spoiler').each(function() {
$(this).hide(1000).before('<button class="sp-trigger">' + $(this).data('open') + '</button>');
$('button.sp-trigger').toggle(function() {
$(this).addClass('sp-active').text($(this).next().data('close')).next().slideDown(1000);
}, function() {
$(this).removeClass('sp-active').text($(this).next().data('open')).next().slideUp(1000);
});
});
});
//]]>
</script>

 
At Sunday, June 17, 2012 at 7:34:00 AM GMT+7, Blogger Mitra kreasi said...

@Taufik Nurrohman
X@ wahh...jadi malu nih..makasih Suhu tapi kenapa ga jalan malah Underfined apa gara2 adajquery 1.3 bawaan Fancy box yah?
:'( terus gimana ngatasinya biar kedua2nya bisa ane pasang suhu?

 
At Friday, April 12, 2013 at 4:49:00 AM GMT+7, Anonymous Anonymous said...

mantabs.. akhirnya saya berhasil menyelesaikan elemen spoiler yang hendak saya terapkan pada blog saya. Sebelumnya saya berterima kasih kepada Bung Taufik, karena banyak sekali tutorial di blog ini yang membantu saya dalam penyusunan template-template yang ingin saya buat..

Terus berkarya dan berbgai ya.. \o/

 
At Friday, May 10, 2013 at 9:32:00 AM GMT+7, Blogger santri sholeh said...

Kak gmn caranya kalau tombol spoilernya diganti pake gambar sendiri yang kita suka terima kasih

 
At Friday, May 10, 2013 at 10:40:00 AM GMT+7, Blogger santri sholeh said...

Trus gimana caranya kalau ingin menaruh spoilernya lebih dari dua?

 
At Monday, May 13, 2013 at 1:28:00 PM GMT+7, Blogger Taufik Nurrohman said...

.before('<img class="sp-trigger" src="URL-Gambar.jpg"/>');

 
At Tuesday, May 14, 2013 at 9:50:00 PM GMT+7, Blogger Unknown said...

mas, untuk mengatur ukuran hurufnya gmn ya?
makasih

 
At Saturday, January 17, 2015 at 8:59:00 AM GMT+7, Blogger Rosid Ridho said...

Saia udah berapa tahun pake spoiler dari blog ini dengan modifikasi sendiri, meski berhasil tapi masih belum juga paham tentang Jquery..,, hehe..,
Sebelumnya, saia mo ngucapin makasih dulu, semoga bisa menjalin pertemanan..,, :D

Salam kenal..,, :-bd

 
At Tuesday, January 20, 2015 at 8:30:00 PM GMT+7, Blogger Taufik Nurrohman said...

Salam kenal pak.

 
At Saturday, May 2, 2015 at 2:20:00 PM GMT+7, Blogger Rosid Ridho said...

mas, boleh di repost ngga...,,
saia pengen simpen postingan ini biar ngga mbulet nyari di bookmark chrome pasti lupa nyimpen dimana...,, T_T

 
At Monday, May 18, 2015 at 9:30:00 PM GMT+7, Blogger Taufik Nurrohman said...

Boleh…

 

Post a Comment

<< Home