Belajar Web

Belajar Web: 2011

Archive for 2011

Memberi Screensaver pada Halaman Web

Posted by Gora Santika


Sumber Gambar : www.mutterz.com

Hoaahm... Pagi-pagi udah ujan gerimis. Daripada suwung, mending bikin posting aja. Kali ini kita akan kembali memanfaatkan beberapa function yang dimiliki JQuery, yaitu hide() dan slideDown().

Bagi anda-anda yang suka bermain dengan komputer, pasti udah gak asing sama istilah Screensaver. Screensaver adalah bentuk tampilan yang muncul ketika komputer tidak mendapat aktivitas dari user dalam waktu tertentu. Screensaver ditujukan untuk memperpanjang usia monitor. Di sini saya gak akan bahas tentang fungsi screensaver. Di sini saya akan menuliskan cara membuat screensaver pada sebuah halaman web.

Berhubung kita menggunakan fungsi JQuery, maka beberapa hal dibutuhkan antara lain:

  • JQuery libraries yang dapat di unduh » di sini «
  • Browser dengan Javascript enabled
  • Sebuah halaman html

Saatnya beraksi...

Pertama-tama kita membutuhkan persiapan awal, yaitu menata posisi screensaver yang akan tampil nantinya. Berikut saya sertakan contoh kodenya:

<html>
<head>
<title>Screen Saver</title>
<style>
#all {
 top:0;
 right:0;
 bottom:0;
 left:0;
 position:absolute;
 z-index:1;
}

#screen {
 position:fixed;
 top:0;
 right:0;
 bottom:0;
 left:0;
 z-index:1000;
 background:#000000;
 color:#FFFFFF;
 padding-top:100px;
 text-align:center;
}
</style>

</head>

<body onLoad="delay()">

<!-- SCREEN SAVER AREA -->
<div id="all" onmousemove="delay()" onmousedown="delay()" >
<div id="screen">
  <h2>Mode Hemat Energi</h2>
  Gerakkan Cursor Anda Untuk Melanjutkan
</div>
<!-- SCREEN SAVER END -->

<!-- CONTENT AREA -->
//////////////////////////////////////////////////
//ANDA DAPAT MENULISKAN CONTENT WEB ANDA DI SINI//
//////////////////////////////////////////////////
<!-- CONTENT AREA -->
</div>

</body>
</html>

Secara singkat, di atas adalah sebuah halaman html dengan 2 buah <div> di dalamnya. div#all adalah div yang mencakup semua isi halaman karena berada satu tingkat di bawah tag <body>. Semua element isi dari halaman diharap ditulis dalam div ini agar fungsi javascriipt dapat berjalan dengan baik. Kemudian div#screen merupakan tempat untuk meletakkan element yang hendak ditampilkan pada screensaver.

Kemudian untuk DOM Event yang ada, pada tag <body> diletakkan event onLoad yang berarti ketika halaman di-load, akan menjalankan fungsi tertentu. Pada kasus ini adalah fungsi delay(). Kemudian Event pada div#all adalah semua yang dapat memicu hilangnya screensaver seperti mouse bergerak, mouse di-klik, dsb.

Setelah semua persiapan selesai, saatnya bermain dengan javascript. Berhubung kita hendak menggunakan JQuery, pertama compile dulu library yang telah anda download. (letakkaan di dalam tag <head></head>)

<script src="nama_file"></script>
Ganti nama_file sesuai dengan lokasi JQuery libraries yang anda unduh, misalkan "jquery-1.6.4.js"

Saatnya menulis javascript. Tulis script berikut pada bagian paling bawah halaman sebelum </body>

<script>
// SEMBUNYIKAN SCREEN SAVER
$("#screen").hide();

// FUNGSI MENAMPILKAN SCREEN SAVER
function delay() {

  // ATUR WAKTU KELUAR DALAM MENIT
  var time = 3;
  
  var secs = time*1000;
  var mins = secs*60;
  $("#screen").hide();
  $("#screen").delay(mins).slideDown("slow");
}
</script>

Variable time di atas saya set dengan angka 3. Menandakan screensaver akan muncul ketika tidak ada aktivitas pada halaman web anda selama 3 menit.

Pada project kali ini, kita menggunakan fungsi JQuery hide() dan slideDown() serta beberapa javascript. Secara sederhana, sistim kerja dai screensaver ini adalah:
  • Pertama, kita mempersiapkan lahan bagi screensaver.
  • Kemudian kita memberikan script yang akan menyembunyikan screensaver ketika halaman di-load.
  • Ketika tidak ada aktivitas pada halaman selama waktu tertentu, screensaver akan muncul.
  • Saat mouse digerakkan, screensaver hilang dan kembali ke point ke-3.

Hasil dari percobaan di atas adalah: » seperti ini «
*Waktu saya set 0.1 menit / 6 detik



[Semoga Bermanfaat]

Pembatasan Karakter pada Textarea

Posted by Gora Santika


Sumber Gambar : lh5.ggpht.com

Jumpa lagi dengan saya. Kali ini kita akan membuat project javascript, yaitu character limitation. Mungkin anda masih bertanya-tanya apa itu. Disini yang saya maksud adalah script yang membatasi jumlah karakter yang dapat dimasukkan dalam text area.

Kalo ente masih kagak paham, kayak di twitter itu lhoo.. kan ada angka di samping text area. Kalo karakter yang dimasukkan melebihi jumlah tertentu, ntar tweet kagak kekirim.

Dengan penjelasan di atas tentunya anda sudah mengerti apa yang saya maksudkan--kalaupun belum, ya terserah. Daripada terlalu banyak prolog, mending langsung aja.

Saatnya beraksi...

Mari kita buat sebuah tampilan form semacam ini:

<form action="">
<table width="445" border="0" cellspacing="0" cellpadding="0" >
  <tr>
    <td width="400">
   <textarea id="txt" onkeyup="check()" onmouseout="check()"
   style="width:400px; height:80px;"></textarea>
 </td>
    <td width="71" valign="top" id="left">150</td>
  </tr>
  <tr>
    <td align="right" id="go">
   <input type="submit" value="submit" disabled="disabled" />
 </td>
 <td> </td>
  </tr>
</table>
</form>
Skrip di atas terdiri dari sebuah <form> , <table> , <textarea> , dan submit button.
  • Tag <form> merupakan "wadah" untuk menampung semua masukan yang akan dikirim.
  • Tag <table> digunakan untuk mengatur tata letak element di dalamnya.
  • Tag <textarea> adalah masukan yang digunakan untuk menuliskan teks.
  • Submit button adalah tombol yang memberi perintah pada form untuk mengirim data.

Sebelum kita berlanjut pada pemberian javascript, mari kita perhatikan dengan saksama tiap element pada form di atas.

Pada bagian <textarea>...

   <textarea id="txt" onkeyup="check()" onmouseout="check()"
   style="width:400px; height:80px;"></textarea>

Text area di atas saya beri id txt. Kemudian ada DOM Event onkeyup, berarti setiap tombol di keyboard kita angkat (setelah ditekan) akan menjalankan fungsi check(). Untuk DOM Event onmouseout, fungsi check() akan berjalan jika mouse keluar dari text area. Sedangkan atribut style, seperti anda lihat hanya mengatur lebar dan tinggi text area.

  • ID yang diberikan berfungsi bagi javascript untuk mengenali tiap-tiap element yang ada.
  • ONKEYUP saya memilih event ini karena ketika anda mengetikkan text, tidak mungkin anda tidak mengangkat tombol yang anda tekan. Sehingga setiap tombol diangkat, skrip akan mengecek jumlah karakter.
  • ONMOUSEOUT digunakan untuk mengantisipasi user yang melakukan copy-paste menggunakan mouse. Karena menggunakan mouse, meski data yang dimasukkan lebih dari ketentuan, script tidak akan berjalan karena tidak ada tombol di keyboard yang terangkat. Namun dengan event onmouseout, setelah meng-copy-paste pasti mouse akan diarahkan menuju submit button, dan sudah pasti keluar dari text area. Maka script akan menghitung karakter yang ada.

Pada bagian #left...

    <td width="71" valign="top" id="left">150</td>

Merupakan tempat untuk menuliskan jumlah karakter tersisa yang dapat dimasukkan. Angka 150 yang berada di dalamnya merupakan angka awal yang tampil pada saat halaman pertama di-load. Angka disesuaikan dengan jumlah karakter maksimal yang ditentukan dalam javascript.

Pada bagian #go...

 <td align="right" id="go">
   <input type="submit" value="submit" disabled="disabled" />
 </td>

Merupakan tempat untuk meletakkan submit button.
Input button yang ada di dalamnya di-set dalam posisi disabled. Hal ini ditujukan kepada para user yang entah sengaja atau tidak, menyetting browsernya dalam posisi Javascript Disabled. Karena javascript tidak jalan, maka fungsi pembatasan karakter pun berhenti. Dengan posisi awal tombol ter-disabled maka user tidak dapat mengirim data sampai mengaktifkan lagi javascript-nya.

Setelah memahami tiap-tiap element di atas, saatnya menuliskan javascript.

<script>

function check(){

// AMBIL ISI DARI ELEMENT #txt
var x = document.getElementById("txt").value;

// HITUNG JUMLAH KARAKTER PADA VARIABEL X
var y = x.length;

// PENENTUAN JUMLAH KARAKTER MAKSIMAL
var z = 150-y;

// UBAH ANGKA PADA ELEMENT #left
document.getElementById("left").innerHTML=z;

  // JIKA KARAKTER < 0 ATAU = 150 MAKA DISABLE SUBMIT BUTTON
  if((z < 0) || (z==150)){
  var a = '<input type="submit" value="submit" disabled="disabled" />';
  document.getElementById("go").innerHTML=a;
  }

  // JIKA MEMENUHI SYARAT MAKA ENABLE BUTTON
  else {
  var a = '<input type="submit" value="submit" />';
  document.getElementById("go").innerHTML=a;
  }

}

</script>

Perhatikan bagian document.getElementById(). Di sana penentuan id harus sesuai dengan id yang ada pada <form> sebelumnya.

Secara garis besar, cara kerja project kali ini adalah:
  • Menyediakan tampilan default saat halaman di-load.
  • Menjalankan fungsi check() sesuai dengan DOM event.
  • Jika jumlah karakter sesuai, maka tombol ter-enabled.
  • Jika jumlah tidak sesuai, maka tombol ter-disabled.

Hasil dari percobaan di atas adalah: » seperti ini «



[Semoga Bermanfaat]

Popup Inpage anti-block

Posted by Gora Santika


Sumber Gambar : iphonehelp.in

Selamat pagi saya ucapkan, karena memang posting ini saya buat pagi-pagi (dasar orang kuker). Pagi ini saya ingin berbagi sedikit trik untuk membuat popup. Mungkin sodara-sodara sekalian membayangkan popup adalah jendela browser baru yang terbuka, dan berisi iklan-iklan yang gaje. Untuk itu, sebagian besar browser dilengkapi dengan Popup Blocker yang akan menghalangi keluarnya popup macam itu.


Tapi coba bayangkan, ketika kita sedang membuat web dan membutuhkan sebuah tampilan popup untuk sarana menjalankan menu yang tersedia. Misalkan kita memiliki situs toko online. Kita menampilkan daftar barang kita beserta gambarnya. Kita tidak mungkin menuliskan semua detail barang karena akan memakan banyak tempat. Akhirnya digunakan popup sebagai media untuk menampilkan detail barang. Secara simpel, ketika gambar barang diklik, akan tampil popup yang berisi detail barang tersebut.


Praktis, hal itu membuat tampilan halaman menjadi ringkas. Namun apa gerangan terjadi ketika user mengatur browsernya untuk mem-block semua popup dari situs manapun? Tentu detail dari barang tersebut tidak dapat muncul. Lalu bagaimana cara untuk menghindari hal semacam ini? Adakah fitur popup yang anti-block? Atau mungkin popup yang inpage dalam dokumen?


Jawabannya ada! Kita akan manfaatkan kemampuan yang dimiliki oleh JQuery untuk melakukan hal tersebut. Seperti yang telah saya sebutkan pada posting sebelumnya, dibutuhkan 3 hal pokok dalam permainan JQuery, yaitu:

  • JQuery libraries yang dapat di unduh » di sini «
  • Browser dengan Javascript enabled
  • Sebuah halaman html

Saatnya beraksi...


Buka teks editor, kemudian copy-paste kode di bawah. Udah kuno ah perintah macam itu. Gini deh, sebenarnya untuk halaman html ini tampilannya bisa disesuaikan denga kebutuhan (semua juga bakalan gitu kalik)--terserah lah. Intinya saya punya contoh macem gini:


<html>
<head>
<title>Bikin Popup Inpage</title>
<style>
body{background:#FFFFFF; color:#000000; margin:0; padding:0;}

/* CSS UNTUK JENDELA POPUP */
#popup_full{
 position:fixed;
 z-index:1000;
 top:0;
 left:0;
 right:0;
 bottom:0;
 background:#999999;
 filter:alpha(opacity=70);
 opacity:0.7;
}
#popup_centering {
 position:fixed;
 z-index:1001;
 top:0;
 left:0;
 right:0;
 bottom:0;
}
#popup_wraper{
 margin:0 auto;
 z-index:1002;
 position:relative;
 padding-bottom:25px;
}
#popup_frame{
 position:relative;
 margin:0;
 padding:0;
 border:2px #000 solid;
 border-top:none;
 background:#E4FFDF;
}
#popup_header{
 height:25px;
 width:100%;
 position:relative;
 border:2px #000 solid;
 border-bottom:none;
 text-align:left;
 background:#009900;
 font-weight:600;
 color:#fff;
}
.popup_title{
 float:left;
 padding-left:10px;
 line-height:25px;
}
.popup_close{
 float:right;
 padding:0 10px 0 10px;
 background:#A60004;
 color:#FFFFFF;
 line-height:25px;
 cursor:pointer;
}
/* ======================= */

</style>
</head>

<body>

<!-- MULAI AREA POPUP -->
<div id="popup_full"></div>
<table width="100%" height="100%" border="0" align="center"
cellpadding="0" cellspacing="0" id="popup_centering"></table>
<!-- AKHRIR AREA POPUP -->

</body>
</html>

Skrip di atas adalah penyediaan tempat untuk popup kita muncul. Disertakan pula CSS yang sedemikian mengatur posisi dari popup kita nantinya. Setelah mempersiapkan tempat, saatnya mengisi tempat tersebut. Namun sebelum mulai memberikan skrip, jangan lupa untuk meng-compile JQuery libraries yang telah didownload sebelumnya (letakkaan di dalam tag <head></head>):

<script src="nama_file"></script>
Ganti nama_file sesuai dengan lokasi JQuery libraries yang anda unduh, misalkan "jquery-1.6.4.js"


Setelah libraries ter-compile dalam halaman, masukkan javascript berikut pada bagian paling bawah halaman sebelum </body>


<script>

// SEMBUNYIKAN ELEMENT DENGAN ID TERSEBUT DI BAWAH
$("#popup_full").hide();
$("#popup_centering").hide();

// FUNGSI MENUTUP POPUP
function closeme() {
 $("#popup_full").hide();
 $("#popup_centering").hide();
 document.getElementById('popup_centering').innerHTML='';
 };

//FUNGSI MEMBUKA POPUP 
function popmeup(u,w,h,t){
 $("#popup_full").show();       // TAMPILKAN BACKGROUND
 $("#popup_centering").show();  // TAMPILKAN CONTAINER

var a = '<tr><td align="center" valign="middle">';
var b = '<div id="popup_wraper" style="width:'+w+'; height:'+h+';">';
var c = '<div id="popup_header"><span class="popup_title">'+t+'</span>';
var d = '<span class="popup_close" onclick="closeme();">Close</span></div>';
var e = '<iframe width="100%" height="100%" frameborder="0" src="'+u+'" ';
var f = 'scrolling="auto" id="popup_frame"></iframe></div></td></tr>';
var showme = a+b+c+d+e+f;

document.getElementById('popup_centering').innerHTML=showme;
};

</script>

Langkah kita masih belum selesai sampai di sini. Setelah kita mempersiapkan tempat, css, dan script penggerak; saatnya meletakkan "pemicu" agar popup muncul. Popup ini akan muncul ketika fungsi popmeup() dipanggil. Untuk memanggil fungsi popmeup() dapat menggunakan dua metode mudah:


Menggunakan Hyperlink (<a>...</a>)

<a href="javascript:popmeup();">text anda</a>

Menggunakan DOM Event

<span onclick="popmeup();">text anda</span>

Dalam penggunaan DOM Event, dapat pula digunakan pada tag html lain seperti <a> , <div> , <body> , <input> dan lain-lain.

Evet yang dapat digunakan pun beragam, beberapa diantaranya: onclick, ondblclick, onkeydown, onmousedown, onkeypress, onmouseover, dan masih banyak yang lain.


Fungsi popmeup() memiliki 4 buah atribut parameter. Ketika kita hendak memanggil fungsi tersebut, pastikan keempat parameter terisi dengan benar. Urutan dari parameter tersebut adalah url, width, height, title.

Berikut contoh membuka sebuah halaman dalam popup dengan lebar 900px, tinggi 580px, dan judul "Belajar Web"

<a href="#" onclick="popmeup('http://jagad-www.blogspot.com/','900px',
'580px','Belajar Web');">Jagad WWW</a>

Pada project kali ini, kita menggunakan fungsi JQuery show() dan hide() serta beberapa javascript. Secara sederhana, sistim kerja dai popup ini adalah:

  • Pertama, kita mempersiapkan lahan bagi popup, yaitu div#popup_full dan table#popup_centering.
  • Kemudian kita memberikan script yang akan menyembunyikan kedua element tersebut ketika halaman di-load.
  • Ketika kita memicu fungsi popmeup(), maka script akan menampilkan popup sesuai dengan parameter yang diberikan.
  • Ketika tombol Close ditekan, akan memicu fungsi closeme() yang akan menutup jendela popup

Hasil dari percobaan di atas adalah: » seperti ini «



[Semoga Bermanfaat]

Membuat Web Dalam Satu File

Posted by Gora Santika


Sumber Gambar : rocketdock.com

Pernahkah anda menggunakan sebuah aplikasi berbasis web yang menyediakan beberapa menu yang ketika kita klik pada menu tersebut akan mengganti halaman kita? -- Tentunya pernah. Namun, pernahkan anda mengamati ketika link yang anda klik mengganti tampilan halaman anda, namun browser tidak menunjukkan tanda-tanda refresh? (tidak ganti halaman). Misalkan anda berada pada sebuah game perang online, sebut saja http://www.contoh.com/game-perang.html . Anggap saja anda klik pada menu Toko Persenjataan. Tampilan toko muncul dan anda dapat membeli barang-barang, namun alamat pada addressbar di browser masih http://www.contoh.com/game-perang.html dan bahkan, browser kita tidak menunjukkan aktifitas loading halaman seperti ketika membuka sebuah halaman pada umumnya. Berikut saya tuliskan cara membuat halaman sejenis itu.


Hal yang dibutuhkan dalam project kali ini adalah:

  • JQuery libraries yang dapat di unduh » di sini «
  • Browser dengan Javascript enabled
  • Sebuah halaman html dengan beberapa menu

Saatnya beraksi...


Pertama, buat sebuah halaman, sebut saja main.html kemudian isi dengan tampilan menu interaktif. Misalnya:

<html>
<head>
<title>Belajar JQuery</title>
<style>
body{
 background:#FFFFFF;
 color:#000000;
}

a{text-decoration:none}

#wraper{
 margin:0 auto;
 width:350px;
 border:1px #000 solid;
}

#menu ul{
 list-style:none;
 padding:0;
 margin:0;
 height:40px;
}

#menu ul li{
 display:inline;
 line-height:40px;
 color:#FFFFFF;
 font-weight:600;
 background:#000099;
 padding:10px;
 cursor:pointer;
}

#menu ul li:hover{background:#006600}

#content{padding:15px;}
</style>

</head>

<body>

<div id="wraper">
 <div id="menu">
  <ul>
    <li class="home">Home</li>
    <li class="profil">Profil</li>
    <li class="inbox">Inbox</li>
  </ul>
 </div>
<!-- Setiap list item diberi class sesuai isi -->

 <div id="content">
   <div id="home">
    Halaman Depan<br>
 Apa yang akan anda tulis di sini?<br><br><br><br>
 Mungkin anda bisa menulis ucapan selamat datang.
   </div>
   <div id="profil">
    Profil Anda<br><br>
 Apakah anda memiliki sesuatu yang ingin dibagi?<br><br><br>
 Atau mungkin sekedar biodata?
   </div>
   <div id="inbox">
    Tempat Menyimpan Pesan<br><br>
 Tentu anda sudah tak asing dengan istilah inbox<br><br>
 Anda yang memiliki ponsel pasti paham artinya<br>
 Dan mungkin yang punya email... pasti paham.
   </div>
 </div>
<!-- Setiap element <div> pada content diberi id sesuai pada menu -->
</div>

</body>
</html>

Setelah itu, compile JQuery libraries dengan cara meletakkan sintaks berikut pada halaman anda (sebaiknya di dalam tag <head></head>)

<script src="nama_file"></script>
Ganti nama_file sesuai dengan lokasi JQuery libraries yang anda unduh, misalkan "jquery-1.6.4.js"


Setelah libraries ter-compile, saatnya memberi JQuery script pada bagian paling bawah halaman sebelum </body>

<script>

// MENYEMBUNYIKAN ELEMENT DENGAN ID "PROFIL" DAN "INBOX"
$("#profil").hide();
$("#inbox").hide();

// JIKA ELEMENT DENGAN CLASS TERSEBUT DI KLIK, MAKA...
$(".home").click(function() {
 $("#home").show();     // TAMPILKAN ELEMENT DENGAN ID "HOME"
 $("#profil").hide();   // SEMBUNYIKAN ELEMENT DENGAN ID "PROFIL"
 $("#inbox").hide();    // SEMBUNYIKAN ELEMENT DENGAN ID "INBOX"
});

$(".profil").click(function() {
 $("#home").hide();     // SEMBUNYIKAN ELEMENT DENGAN ID "HOME"
 $("#profil").show();   // TAMPILKAN ELEMENT DENGAN ID "PROFIL"
 $("#inbox").hide();    // SEMBUNYIKAN ELEMENT DENGAN ID "INBOX"
});

$(".inbox").click(function() {
 $("#home").hide();     // SEMBUNYIKAN ELEMENT DENGAN ID "HOME"
 $("#profil").hide();   // SEMBUNYIKAN ELEMENT DENGAN ID "PROFIL"
 $("#inbox").show();    // TAMPILKAN ELEMENT DENGAN ID "INBOX"
});

</script>

Simpan hasil kerja anda lalu buka dengan browser. Silakan coba klik pada bagian menu yang ada, dan... voila, tampilan berganti namun halaman masih tetap sama.

Pada project kali ini, kita menggunakan fungsi show() dan hide() yang dimiliki oleh JQuery untuk memanipulasi tampilan halaman. Secara sederhana, cara kerja JQuery yang kita gunakan adalah:

  • Menghilangkan semua <div> pada element content menggunakan function hide() -- Home tidak dihilangkan agar tampil sebagai halaman depan.
  • Memberi perintah kepada setiap tombol menu untuk mengatur element apa saja yang harus ditampilkan / dihilangkan.

Hasil dari percobaan di atas adalah: » seperti ini «


[Semoga Bermanfaat]