Thursday, January 5, 2012

Membuat Kotak Pesan Muncul dari Atas dengan jQuery

jQuery Kotak Pesan Muncul dari Atas

Kali ini Saya akan memberikan satu lagi tip sederhana, dan masih menggunakan potongan kode yang sama seperti saat Anda menciptakan efek animasi loading dengan jQuery. Pada intinya di sini Saya akan menganimasikan nilai top untuk menciptakan efek kotak pesan yang muncul dari atas perlahan-lahan. Saya menggunakan dua bahan utama, yaitu potongan kode ini dan sedikit pemanfaatan efek .animate() (pelajari di sini) untuk menciptakan efek animasi kotak pesan mucul dari atas menuju ke bawah:

Lihat Demo

HTML

Pertama-tama kita bangun kerangka kotak pesan seperti ini. Sangat sederhana, hanya terdiri dari sebuah area dan sebuah tautan yang akan kita jadikan sebagai tombol penutup kotak pesan:

<div id='kotak-pesan'>

    <!-- KONTEN DI SINI -->

    <a class='close' href='#'>&times;</a>
</div>

CSS

Setelah itu berikan beberapa sentuhan, terutama mengenai posisi, karena di sini kita akan membuat kotak pesan melayang, jadi aturlah posisinya agar melayang. Perhatikan bahwa Saya menuliskan nilai top sebesar -1000px. Hal ini akan membuat kotak tidak terlihat karena posisinya terletak -1000 piksel jauh di atas layar peramban:

#kotak-pesan {
  position:fixed !important;
  position:absolute; /* IE6 */
  top:-1000px;
  left:50%;
  width:300px;
  margin:0 0 0 -182px;
  height:auto;
  padding:16px;
  background-color:#E9CF5F;
  border:2px solid white;
  font:normal normal 1em/normal Georgia,Serif;
  color:#111;
  -webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);
  -moz-box-shadow:0 1px 3px rgba(0,0,0,.4);
  box-shadow:0 1px 3px rgba(0,0,0,.4);
}

#kotak-pesan a.close {
  position:absolute;
  top:-10px;
  right:-10px;
  background-color:#333;
  font:normal bold 16px Arial,Sans-Serif;
  text-decoration:none;
  line-height:22px;
  width:22px;
  text-align:center;
  color:white;
  border:2px solid white;
  -webkit-box-shadow:0 1px 2px rgba(0,0,0,.4);
  -moz-box-shadow:0 1px 2px rgba(0,0,0,.4);
  box-shadow:0 1px 2px rgba(0,0,0,.4);
  -webkit-border-radius:22px;
  -moz-border-radius:22px;
  border-radius:22px;
  cursor:pointer;
}

jQuery

Terakhir, kita tuliskan kode jQuery dengan peraturan seperti ini:

“Saat halaman telah sepenuhnya dimuat, animasikan nilai top dari -1000px menjadi 50px. Kemudian, saat tombol close diklik, hilangkan kotak pesan dengan efek .fadeOut()”.

<script>
$(window).bind("load", function() {

    // animasikan nilai top saat halaman telah selesai dimuat
    $('#kotak-pesan').animate({top:"50px"}, 1000);

    // hilangkan kotak pesan saat tombol (x) diklik
    $('a.close').click(function() {
        $(this).parent().fadeOut();
        return false;
    });

});
</script>

Tidak ada hal lain lagi yang bisa dituliskan setelah ini. Pada intinya, sisanya tergantung kreativitas Anda. Terutama mengenai konten apa yang akan Anda masukkan di dalam kotak pesan tersebut. Namun di sini akan muncul sebuah masalah yang sangat umum dan seringkali diremehkan. Jika kita menciptakan kotak pesan melayang dalam sebuah situs, tentunya akan sangat mengganggu jika kotak pesan tersebut muncul setiap saat. Untuk mengatasi masalah itu, Anda bisa memanfaatkan tag kondisional untuk mengatur kemunculan kotak pesan agar hanya muncul pada halaman depan saja misalnya » Pelajari di sini

Labels: , ,

43 Comments:

At Thursday, January 5, 2012 at 7:12:00 PM GMT+7, Blogger Sinto said...

ini dia bang yang aku maksud, thanks yah udah di post

 
At Friday, January 6, 2012 at 9:34:00 AM GMT+7, Blogger Taufik Nurrohman said...

@system of blog: Samah samah...

 
At Monday, January 9, 2012 at 8:15:00 PM GMT+7, Blogger Unknown said...

mantap sob... hadir kembali di blog anda... hadir dengan membawa perdamaian... maaf baru hadir... :)

 
At Saturday, February 18, 2012 at 8:13:00 PM GMT+7, Blogger Aldi said...

waduhh .. bang kayanya bakalan jadi pengunjung setia blog ini nihh .. heheheh

jangan lupa mampir yaa sob ..
www.zengbogel.blogspot.com ..
klo bisa pengen temenan di fb nih sob boleh gaa ??

add yaa
https://www.facebook.com/zenx.bhogel

 
At Tuesday, February 28, 2012 at 4:26:00 AM GMT+7, Blogger ICHINK.WEB.ID said...

Tutorialnya mantep mas, aku terheran-heran kalo ke sini. Ada tutorial yang buat WP gak mas, penasaran kalo wordpress diutak atik ala hompimpahalaihumgambreng jadi kaya apa, hehe...
salut lah mas :)
Dumatika.com

 
At Tuesday, February 28, 2012 at 10:25:00 AM GMT+7, Blogger Taufik Nurrohman said...

@Manusia Biasa Pengennya sih begitu tapi sayangnya kalo mau belajar WP musti modal dulu haha..

 
At Sunday, April 1, 2012 at 1:14:00 AM GMT+7, Anonymous Anonymous said...

mas, klo pengen boxnya munculnya pada saat di klik kaya gmana scriptnya??? :D

 
At Sunday, April 1, 2012 at 12:24:00 PM GMT+7, Blogger Taufik Nurrohman said...

@miretahutempe Karena di sini pemicu animasinya adalah perintah $(window).bind("load"), maka untuk mengubah kotak pesan agar tampil saat diklik adalah dengan membuat elemen pemicu tersendiri. Misalnya sebuah tombol seperti ini:

<button class='open'>Buka Kotak Pesan!</button>

Setelah itu ubah perintahnya menjadi seperti ini:

$(function() {
$('button.open').click(function() {
$('#kotak-pesan').animate({top:"50px"}, 1000);
return false;
});
$('a.close').click(function() {
$(this).parent().animate({top:"-1000px"}, 1000);
return false;
});
});


begitu saja.

 
At Wednesday, April 18, 2012 at 4:33:00 PM GMT+7, Blogger Putra said...

@Taufik Nurrohman Kok gak bisa yooh?? :(

 
At Wednesday, April 18, 2012 at 7:03:00 PM GMT+7, Blogger Taufik Nurrohman said...

@Alam Perwira Ah, masaaaaaa... <:)
Demo: http://jsfiddle.net/tovic/awq4Y/

 
At Wednesday, April 18, 2012 at 9:03:00 PM GMT+7, Blogger Putra said...

@Taufik Nurrohman dibuat 2 gtu maksud saya maas, satu buat like box yg otomatis keluar satunya buat custom search yg harus dipencet tombolnya :D

 
At Thursday, May 10, 2012 at 9:54:00 AM GMT+7, Blogger Unknown said...

Mas, kalau munculnya cukup satu kali pada awal saat pengunjung datang, bisa nggak ya? :). Soalnya kalau di tag kondisional agak susah juga. Hehe. trimakasih

 
At Thursday, May 17, 2012 at 11:03:00 AM GMT+7, Blogger Taufik Nurrohman said...

@Mivt elRahman Bisa. Itu memakai Cookie. Cara kerjanya persis seperti saat kita login ke Blogger, kemudian kita mengeklik pilihan "ingat saya?"
Setelah pilihan tersebut diklik, maka meskipun peramban telah ditutup, kemudian kita membuka peramban lagi lalu mengunjungi Blogger maka kita tidak perlu melakukan login untuk yang ke dua kalinya karena cookie login sudah tersimpan di peramban yang kita pakai.
Anggapan bahwa tag kondisional lebih sulit dibandingkan JavaScript Cookie http://techpatterns.com/downloads/javascript_cookies.php sebenarnya salah besar. Lebih baik mulai ke tag kondisional dulu :-bd

 
At Saturday, November 24, 2012 at 7:59:00 PM GMT+7, Anonymous Anonymous said...

Mas saya mau buat kotak pesan ini dengan konten facebook like box.

Saya pasang CSS dan HTML pada widget seperti ini dia bentuknya :
< style >
CSS
< /style >
HTML


Lalu saya pasang jQuery diatas


Tapi kenapa tidak muncul kotak pesannya, Mas?

 
At Monday, December 10, 2012 at 3:05:00 PM GMT+7, Blogger Taufik Nurrohman said...

Tunggu sampai loadingnya berhenti.

 
At Monday, December 10, 2012 at 3:33:00 PM GMT+7, Anonymous Anonymous said...

Mas Taufik, saya lihat source blog ini, kemana semua CSS blognya? Saya benar-benar aneh melihat source blog ini. Seperti tataan PHP pdalan HTML. Gimana ceritanya Mas?

Tolong balasannya yahh.. :)

 
At Monday, December 10, 2012 at 3:44:00 PM GMT+7, Blogger Taufik Nurrohman said...

Klak... klik... klak... klik... nanti nemu ini:

http://hompimpa.googlecode.com/svn/trunk/personal/css/main.css

 
At Monday, December 10, 2012 at 3:53:00 PM GMT+7, Anonymous Anonymous said...

Tolong Mas langkah-langkah (rangkuman)-nya saja Mas.
Seharusnya ini yang banyak dilakukan bloggers untuk melindungi blognya dari ancaman pelagiat. Tapi saya lihat baru Mas Taufik yang melakukan ini.

Tolong Mas pencerahannya, saya benar2 banyak belajar dari Mas Taufik. Makasih sekali lagi Mas. :D

 
At Tuesday, December 11, 2012 at 12:41:00 PM GMT+7, Blogger Putra said...

malah keenakan pengcloninglah. CSS udah terangkum di satu link exsternal, tinggal nyari kerangka sama jquery haha =D

 
At Tuesday, December 11, 2012 at 12:44:00 PM GMT+7, Anonymous Anonymous said...

Gag juga lahh sob.
Perhatikan blog ini : copytemplatembt.blogspot.com
dengan blog ni : moreblogtools.com

Blog 1 meniru blog 2, perhatikan sourcenya.
Gampang bgt nirunya, aku mala gag tw sebelumnya trick Mas Taufic nyimpen CSS menggunakan google code.

 
At Wednesday, December 12, 2012 at 5:04:00 AM GMT+7, Blogger MUX SPARROW said...

Mas. yang ini bisa diatur pake timer gak munculnya, misalnya muncul 10 detik setelah loding?

 
At Wednesday, December 12, 2012 at 5:15:00 AM GMT+7, Blogger Unknown said...

emh.... jadi CSS blog ini di-host di tempat lain?? tolong dong mas cara konekin ke template blog kitanya kaya gimana????
saya pengen nih mas buat mempercepat loading blog juga bisa kan mas??? :-)

 
At Wednesday, December 12, 2012 at 5:19:00 AM GMT+7, Blogger Unknown said...

cari-cari free-nya aja mas...
saya selalu berkunjung ke blog ini tiap hari... haha
banyak belajar dari blog ini dan selalu terheran-heran dengan ide-ide mas yang diimplementasikan di blognya mas, apa lagi kalo klik klik templatenya hompimpa... (berdecak kagum):-D

 
At Wednesday, December 12, 2012 at 5:35:00 AM GMT+7, Blogger Unknown said...

mas kalo membuat kotak pesan ini isinya diganti dengan artikel pada blog kita bisa ga mas?? kaya yang di template blog versi dinamis gitu, jadi artikel kan tampil dalam bentuk snippet, kemudian ketika readmore diklik, ga perlu loading lagi, karena artikel muncuk dalam bentuk pop out kotak pesan... saya pengen mengimplementasikan hal itu ke template blog yang biasa... mohon bantuannya ya mas saya ga terlalu mengerti koding, baru belajar, selama ini masih Copas ^_^

 
At Wednesday, December 12, 2012 at 10:45:00 AM GMT+7, Blogger Taufik Nurrohman said...

$(document).ready(function() {

setTimeout(function() {
// animasikan nilai `top` 10 detik kemudian
$('#kotak-pesan').animate({top:"50px"}, 1000);
}, 10000); // satuan milidetik

// hilangkan kotak pesan saat tombol (x) diklik
$('a.close').click(function() {
$(this).parent().fadeOut();
return false;
});

});

 
At Wednesday, December 12, 2012 at 10:50:00 AM GMT+7, Anonymous Anonymous said...

Mas Taufik tolong lah diberitahu caranya...

 
At Wednesday, December 12, 2012 at 10:51:00 AM GMT+7, Blogger Taufik Nurrohman said...

Bisa. Pakai Blogger API. Tapi nggak mungkin bisa dibuat tutorialnya. Panjang!

 
At Wednesday, December 12, 2012 at 2:48:00 PM GMT+7, Blogger MUX SPARROW said...

Sip..! makasih banyak, Mas Taufik.. :D

 
At Saturday, December 15, 2012 at 2:37:00 PM GMT+7, Blogger Unknown said...

mas saya pengen bikin kotak pesan ini isinya contact form, tapi boton-nya ada pada menu, dan menyatu dengan menu, layaknya menu-menu yang lainnya, gimana ya mas cranya??

 
At Saturday, December 15, 2012 at 6:46:00 PM GMT+7, Blogger Taufik Nurrohman said...

Tambahkan atribut class="close" pada item menu.

 
At Saturday, December 15, 2012 at 10:29:00 PM GMT+7, Blogger Unknown said...

maksudnya memasukan class close di tag a gitu atau gimana mas??

 
At Monday, December 24, 2012 at 1:00:00 AM GMT+7, Anonymous Anonymous said...

jujur saya tidak bisa memasangnya -_- haduh bodoh diriku...

bingung kode css dipasang dibagian mana, dan jquerynya juga musti dipasang dimana! heu

kaze kate
masih baru mengenal yang seperti ini :D

 
At Monday, December 24, 2012 at 1:15:00 AM GMT+7, Anonymous Anonymous said...

tadi tuh saya baca ada postingan


kode HTML pasang di widget (tambah gadget)
kode CSS letakkan diatas kode ]]><
kode jQuery letakkan dibawah kode ]]><

tapi yang mana ya? ah yang penting praktekin ajalah! hihi

 
At Wednesday, February 6, 2013 at 5:19:00 AM GMT+7, Blogger azewBz said...

mas kalu di button open bikin jdi kaya link bisa ga?

Contoh :
http://1.bp.blogspot.com/-92jPM0t82u8/URGEs28D8xI/AAAAAAAAADE/nuH9D5tPNuQ/s400/zewDsignet+1.jpg

Jadi yang Menu nya di samain kaya Home, About,
( tidak ada kotak putih pada contoh yang di lingkari di atas )

Tapi pungsinya sama bisa open widget yang tampil..!!

 
At Wednesday, February 6, 2013 at 8:50:00 AM GMT+7, Blogger Taufik Nurrohman said...

Pakai tautan saja:

<a class="open-widget" href="#">Menu</a>
$('.open-widget').click(function() {
return false;

// buka widget...

});

 
At Sunday, February 10, 2013 at 8:14:00 AM GMT+7, Blogger azewBz said...

kalau munculnya di bawah atau di pinggir itu gmna mas ?
saat di klik

 
At Sunday, February 10, 2013 at 12:37:00 PM GMT+7, Blogger Taufik Nurrohman said...

Dimodifikasi saja propertinya. Cuma di dalam lingkup properti top, right, bottom dan left saja ko.

 
At Sunday, March 31, 2013 at 6:05:00 AM GMT+7, Blogger azewBz said...

mas`klau demo yg di atas code Jquery nya kya gimna?

sempet saya untak atik sperti ini.

$(window).bind("load", function() {
$('#kotak-pesan').animate({top:"50px"}, 1000);

$('#kotak-overlay').fadeTo("normal", 0.4).show();

$('a.close').click(function() {
$(this).parent().fadeOut();
return false;
});

});


mlah`overlay nya yg menetupi kotak melayangnya,,!!
jdi ga bisa close

 
At Sunday, March 31, 2013 at 11:43:00 AM GMT+7, Blogger Taufik Nurrohman said...

Sejak awal masalahmu cuma di z-index. Titik. Tidak perlu mengutak-atik kode JQuery.

http://www.google.com/search?q=css+z-index

 
At Thursday, October 10, 2013 at 6:51:00 PM GMT+7, Blogger yours.net said...

Mas saya sudah praktekan kode diatas dan hasilnya ok banget apik !, yang saya tanyakan adalah bagaimana jika ingin kotak tersebut bisa menutup secara otomatis jika pengunjung tidak meng klik tanda "X", (tentu dengan timer sekian detik) hal ini sering saya liat di yahoo, dan saya juga sudah coba di blog saya (kenyoot.blogspot.com) tapi saya tidak bisa mengubah Cssnya agar seperti punya mas taufik. terimaksih mas saya tunggu jawaban sampean dengan segera (pake pos kilat :Q )

 
At Thursday, October 10, 2013 at 6:56:00 PM GMT+7, Blogger yours.net said...

oh ya, saya dapat koding yang saya pasang dan coba di kenyoot blogspot dari situs luar, cssnya audhubillah minzalik, panjang banget, mumet saya bacanya

 
At Sunday, February 9, 2014 at 5:55:00 AM GMT+7, Blogger Ariana said...

mas klo yang model seperti blog ini gmna ya, jadi untuk membantu visitor menjelaskan deteil navigasi yang ada di blog kita. ini referensinya : http://urang-kurai.blogspot.com/2013/07/75-blogazine.html

 
At Wednesday, January 3, 2018 at 8:35:00 PM GMT+7, Blogger Unknown said...

Terimakasih. Semoga menjadi ilmu bermanfaat fidunya wal akhiroh. Amin

 

Post a Comment

<< Home