[Contoh] Memanfaatkan Fungsi .append() pada JQuery untuk Aplikasi Web

Diantara anda mungkin ada yang sering memanfaatkan web chat seperti pada Facebook, GTalk, dan lain sebagainya. Mungkin juga kita sering melihat fungsi komentar yang berjalan real time pada Facebook, Twitter, dan lain sebagainya. Dimana ketika kita melakukan POST komentar atau chat, halaman web tidak perlu melakukan reloading secara keseluruhan. Kita bisa membandingkan fungsi seperti yang ada pada situs detik, dimana setiapkali komentar, halaman akan melakukan refresh secara keseluruhan, hal ini akan sangat memberatkan client terutama yang memiliki bandwidth internet kurang memadai. Sudah seharusnya halaman yang diload hanya pada yang berubah saja. Jika kita melakukan post, ya seharusnya yang berubah hanyalah pada perubahan post itu saja.

Untuk melakukan itu, kita bisa memanfaatkan fungsional JQuery .append() untuk melakukannya. .append() berfungsi untuk menambahkan sebuah elemen, dengan isi seperti parameter yang akan ditunjukkan oleh fungsi tersebut. Sebagai contoh saya memiliki script seperti demikian :




Meskipun elemen dengan ID content adalah kosong, namun dengan fungsi javascript JQuery .append(), Div tersebut akan memiliki isi seperti yang diisikan oleh script tersebut. Hal ini sebenarnya mengambil fungsi dari fungsi utama javascript seperti yang pernah kita bahas di posting lalu tentang DOM.

FUNGSI .append() untuk web chat.
Saya akan menggabungkan dua tema posting yang lalu, yaitu DOM yang telah terwakili dengan fungsi JQuery disini dan Fungsi FORM yang ditambahkan tanpa perlu melakukan reloading sebuah halaman web. Namun, ingat, bahwa saya belum menambahkan fungsional database. Jadi masih bersifat contoh client side. Scriptnya kira-kira adalah seperti ini:

chat.html










Isi pertama
Isi kedua
Isi ketiga

Script ke dua adalah berupa javascript yang disimpan sebagai script.js, dan berisi sebagai berikut:

$("#submit_chat").click(function(anu){ //jika tombol submit_chat diklik, akan membuat variabel anu
   anu.preventDefault(); //menghindari aksi default browser ketika ada form aktif.. menjadi no-reload
   var obrol = $("#chat").val(); //membuat variabel obrol yang berisi value dari input #chat
   $("#centerbox").append("
"+obrol+"
").children(':last').hide().fadeIn(1000);//melakukan penambahan variabel obrol yang diapit dalam div isi, dalam div centerbox, dengan animasi fade IN var objDiv = document.getElementById("centerbox"); objDiv.scrollTop = objDiv.scrollHeight;//agar variabel baru langsung tersorot ke bawah $("form#chatForm")[0].reset(); //mengclear isi form return false; });

Tugas utama dari .append() adalah menambahkan sebuah isi dari fungsi, menjadi elemen tambahan didalam div yang di dalamnya. Dalam kasus ini, saya menambahkan kata

"
"+obrol+"
"
ke dalam div #centerbox, dan akan dimasukkan sebagai isian paling bawah. Isi styling styles.css akan seperti berikut:
body{
background:#a6a8f4;
margin:auto;
font-size:20px;
font-family:Arial;
line-height:25px;

}

#centerbox{
margin-top:100px;
margin-left:25%;
height:300px;
width:500px;
background:#14178f;
color:#fff;
padding-left:50px;
padding-top:20px;
padding-right:50px;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 3px;
-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 3px;
box-shadow: rgba(0, 0, 0, 0.3) 0px 5px 3px;
border:10px solid #fff;
overflow:auto;
}

#form{
margin-left:25%;
margin-top:20px;
}

#form input[type="text"]{
width:400px;
height:40px;
font-size:30px;
border:1px solid #ccc;
margin-right:20px;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
}

#form input[type="submit"]{
width:100px;
height:40px;
font-size:30px;
border:1px solid #ccc;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
background-color: #E6E6E6;
background-repeat: no-repeat;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), color-stop(25%, white), to(#E6E6E6));
background-image: -webkit-linear-gradient(white, white 25%, #E6E6E6);
background-image: -moz-linear-gradient(top, white, white 25%, #E6E6E6);
background-image: -ms-linear-gradient(white, white 25%, #E6E6E6);
background-image: -o-linear-gradient(white, white 25%, #E6E6E6);
background-image: linear-gradient(white, white 25%, #E6E6E6);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#E6E6E6', GradientType=0);
}
#isi{
border-bottom:1px solid #999;
margin-top:5px;
}

Jangan lupa, selalu menggunakan source jquery. Sebagai perhatian bahwa tidak semua browser bisa melakukan ini, terutama Internet Explorer. Untuk Mobile Browser sebagian bisa melakukannya.. Anda bisa mengklik demo ataupun mendownload filenya. Untuk tutorial CHAT yang terintegrasi database, tunggu posting selanjutnya.