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 Cambria,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 type='text/javascript'>
$(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
Komentar
Posting Komentar