Popup merupakan salah satu elemen yang cukup penting pada sebuah website, apalagi untuk aplikasi web yang sangat membutuhkan interaksi dengan penggunanya.
Popup biasanya akan muncul ketika user melakukan klik pada sebuah menu atau link untuk menampilkan informasi agar bisa menghemat ruang dan menciptakan user experience (UX) yang menarik. Popup biasanya akan tertutup apabila pengguna melakukan klik pada tombol close (X) atau pada ruang diluar area popup tersebut.
Pada tutorial kali ini akan menjelaskan sedikit cara membuat pupup dengan css dan javascript, kita coba untuk membuat ini dengan sangat sederhana dan tidak memerlukan jquery untuk melakukan ini agar kodingnya menjadi lebih ringan.
Berikut tutorial membuat popup dengan css dan javascript
Struktur HTML
Pertama buat terlebih dahulu struktur HTML dari popup tersebut seperti script dibawah ini
<h2>Membuat Popup Sederhana dengan Javacript dan CSS</h2>
<a href="javascript:void(0);" id="jwpopupLink">Klik disini untuk membuka popup</a>
<div id="jwpopupBox" class="jwpopup">
<div class="jwpopup-content">
<div class="jwpopup-head">
<span class="close">×</span>
<h2>[Popup Header] Popup dengan Javascript dan CSS</h2>
</div>
<div class="jwpopup-main">
<p>[Popup Content] Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officiis maxime nobis quod veritatis facere velit cum optio obcaecati soluta ratione amet iusto nulla, expedita blanditiis tempora inventore tempore impedit itaque.</p>
</div>
<div class="jwpopup-foot">
<p>[Popup Footer] Creating popup using Javascript and CSS</p>
</div>
</div>
</div>
Styling dengan CSS
Popup adalah sebuah elemen yang awalnya tersembunyi lalu akan muncul ketika ada pemicu, yaitu ketika sebuah link dengan ID tertentu di klik, dalam contoh ini kita buat link dengan ID #jwpopupLink
.
Untuk menyembunyikan atau menampilkan elemen, kita menggunakan CSS, jadi dengan CSS kita coba untuk membuat elemen tersebut tersembunyi secara default. Berikut script css lengkap yang dibutuhkan.
body{
font-family: arial, verdana, sans-serif;
}
.jwpopup {
display: none;
position: fixed;
z-index: 1;
padding-top: 110px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.7);
}
.jwpopup-content {
position: relative;
background-color: #fefefe;
margin: auto;
padding: 0;
max-width: 500px;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
-webkit-animation-name: animatetop;
-webkit-animation-duration: 0.4s;
animation-name: animatetop;
animation-duration: 0.4s
}
.jwpopup-head {
font-size: 11px;
padding: 1px 16px;
color: white;
background: #006faa;
background: -webkit-linear-gradient(#006faa, #002c44);
background: -o-linear-gradient(#006faa, #002c44);
background: -moz-linear-gradient(#006faa, #002c44);
background: linear-gradient(#006faa, #002c44);
}
.jwpopup-main {padding: 5px 16px;}
.jwpopup-foot {
font-size: 12px;
padding: .5px 16px;
color: #ffffff;
background: #006faa;
background: -webkit-linear-gradient(#006faa, #002c44);
background: -o-linear-gradient(#006faa, #002c44);
background: -moz-linear-gradient(#006faa, #002c44);
background: linear-gradient(#006faa, #002c44);
}
@-webkit-keyframes animatetop {
from {top:-300px; opacity:0}
to {top:0; opacity:1}
}
@keyframes animatetop {
from {top:-300px; opacity:0}
to {top:0; opacity:1}
}
.close {
margin-top: 7px;
color: white;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover, .close:focus {
color: #999999;
text-decoration: none;
cursor: pointer;
}
Buat interaktif dengan Javascript
Agar popup bisa interaktif, maka elemen popup yang tadinya diatur tersembunyi dengan bantuan CSSdisplay:none
maka harus diubah menjadi display:block
agar popup bisa muncul. Untuk merubah property css tersebut dibutuhkan bantuan javascript. Berikut ini kode javascript yang dibutuhkan untuk hal tersebut.
var jwpopup = document.getElementById('jwpopupBox');
var mpLink = document.getElementById("jwpopupLink");
var close = document.getElementsByClassName("close")[0];
mpLink.onclick = function() {
jwpopup.style.display = "block";
}
close.onclick = function() {
jwpopup.style.display = "none";
}
window.onclick = function(event) {
if (event.target == jwpopup) {
jwpopup.style.display = "none";
}
}
This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
Blogger Comment
Facebook Comment