Membuat Kotak Pesan Muncul dari Atas dengan jQuery
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:
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='#'>×</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
menjadi50px
. 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
43 Comments:
ini dia bang yang aku maksud, thanks yah udah di post
By Sinto, at Thursday, January 5, 2012 at 7:12:00 PM GMT+7
@system of blog: Samah samah...
By Taufik Nurrohman, at Friday, January 6, 2012 at 9:34:00 AM GMT+7
mantap sob... hadir kembali di blog anda... hadir dengan membawa perdamaian... maaf baru hadir... :)
By Unknown, at Monday, January 9, 2012 at 8:15:00 PM GMT+7
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
By Aldi, at Saturday, February 18, 2012 at 8:13:00 PM GMT+7
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
By ICHINK.WEB.ID, at Tuesday, February 28, 2012 at 4:26:00 AM GMT+7
@Manusia Biasa Pengennya sih begitu tapi sayangnya kalo mau belajar WP musti modal dulu haha..
By Taufik Nurrohman, at Tuesday, February 28, 2012 at 10:25:00 AM GMT+7
mas, klo pengen boxnya munculnya pada saat di klik kaya gmana scriptnya??? :D
By Anonymous, at Sunday, April 1, 2012 at 1:14:00 AM GMT+7
@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.
By Taufik Nurrohman, at Sunday, April 1, 2012 at 12:24:00 PM GMT+7
@Taufik Nurrohman Kok gak bisa yooh?? :(
By Putra, at Wednesday, April 18, 2012 at 4:33:00 PM GMT+7
@Alam Perwira Ah, masaaaaaa... <:)
Demo: http://jsfiddle.net/tovic/awq4Y/
By Taufik Nurrohman, at Wednesday, April 18, 2012 at 7:03:00 PM GMT+7
@Taufik Nurrohman dibuat 2 gtu maksud saya maas, satu buat like box yg otomatis keluar satunya buat custom search yg harus dipencet tombolnya :D
By Putra, at Wednesday, April 18, 2012 at 9:03:00 PM GMT+7
Mas, kalau munculnya cukup satu kali pada awal saat pengunjung datang, bisa nggak ya? :). Soalnya kalau di tag kondisional agak susah juga. Hehe. trimakasih
By Unknown, at Thursday, May 10, 2012 at 9:54:00 AM GMT+7
@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
By Taufik Nurrohman, at Thursday, May 17, 2012 at 11:03:00 AM GMT+7
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?
By Anonymous, at Saturday, November 24, 2012 at 7:59:00 PM GMT+7
Tunggu sampai loadingnya berhenti.
By Taufik Nurrohman, at Monday, December 10, 2012 at 3:05:00 PM GMT+7
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.. :)
By Anonymous, at Monday, December 10, 2012 at 3:33:00 PM GMT+7
Klak... klik... klak... klik... nanti nemu ini:
http://hompimpa.googlecode.com/svn/trunk/personal/css/main.css
By Taufik Nurrohman, at Monday, December 10, 2012 at 3:44:00 PM GMT+7
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
By Anonymous, at Monday, December 10, 2012 at 3:53:00 PM GMT+7
malah keenakan pengcloninglah. CSS udah terangkum di satu link exsternal, tinggal nyari kerangka sama jquery haha =D
By Putra, at Tuesday, December 11, 2012 at 12:41:00 PM GMT+7
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.
By Anonymous, at Tuesday, December 11, 2012 at 12:44:00 PM GMT+7
Mas. yang ini bisa diatur pake timer gak munculnya, misalnya muncul 10 detik setelah loding?
By MUX SPARROW, at Wednesday, December 12, 2012 at 5:04:00 AM GMT+7
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??? :-)
By Unknown, at Wednesday, December 12, 2012 at 5:15:00 AM GMT+7
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
By Unknown, at Wednesday, December 12, 2012 at 5:19:00 AM GMT+7
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 ^_^
By Unknown, at Wednesday, December 12, 2012 at 5:35:00 AM GMT+7
$(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;
});
});
By Taufik Nurrohman, at Wednesday, December 12, 2012 at 10:45:00 AM GMT+7
Mas Taufik tolong lah diberitahu caranya...
By Anonymous, at Wednesday, December 12, 2012 at 10:50:00 AM GMT+7
Bisa. Pakai Blogger API. Tapi nggak mungkin bisa dibuat tutorialnya. Panjang!
By Taufik Nurrohman, at Wednesday, December 12, 2012 at 10:51:00 AM GMT+7
Sip..! makasih banyak, Mas Taufik.. :D
By MUX SPARROW, at Wednesday, December 12, 2012 at 2:48:00 PM GMT+7
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??
By Unknown, at Saturday, December 15, 2012 at 2:37:00 PM GMT+7
Tambahkan atribut class="close" pada item menu.
By Taufik Nurrohman, at Saturday, December 15, 2012 at 6:46:00 PM GMT+7
maksudnya memasukan class close di tag a gitu atau gimana mas??
By Unknown, at Saturday, December 15, 2012 at 10:29:00 PM GMT+7
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
By Anonymous, at Monday, December 24, 2012 at 1:00:00 AM GMT+7
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
By Anonymous, at Monday, December 24, 2012 at 1:15:00 AM GMT+7
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..!!
By azewBz, at Wednesday, February 6, 2013 at 5:19:00 AM GMT+7
Pakai tautan saja:
<a class="open-widget" href="#">Menu</a>
$('.open-widget').click(function() {
return false;
// buka widget...
});
By Taufik Nurrohman, at Wednesday, February 6, 2013 at 8:50:00 AM GMT+7
kalau munculnya di bawah atau di pinggir itu gmna mas ?
saat di klik
By azewBz, at Sunday, February 10, 2013 at 8:14:00 AM GMT+7
Dimodifikasi saja propertinya. Cuma di dalam lingkup properti top, right, bottom dan left saja ko.
By Taufik Nurrohman, at Sunday, February 10, 2013 at 12:37:00 PM GMT+7
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
By azewBz, at Sunday, March 31, 2013 at 6:05:00 AM GMT+7
Sejak awal masalahmu cuma di z-index. Titik. Tidak perlu mengutak-atik kode JQuery.
http://www.google.com/search?q=css+z-index
By Taufik Nurrohman, at Sunday, March 31, 2013 at 11:43:00 AM GMT+7
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 )
By yours.net, at Thursday, October 10, 2013 at 6:51:00 PM GMT+7
oh ya, saya dapat koding yang saya pasang dan coba di kenyoot blogspot dari situs luar, cssnya audhubillah minzalik, panjang banget, mumet saya bacanya
By yours.net, at Thursday, October 10, 2013 at 6:56:00 PM GMT+7
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
By Ariana, at Sunday, February 9, 2014 at 5:55:00 AM GMT+7
Terimakasih. Semoga menjadi ilmu bermanfaat fidunya wal akhiroh. Amin
By Unknown, at Wednesday, January 3, 2018 at 8:35:00 PM GMT+7
Post a Comment
<< Home