Blogger Widgets Blogger Widgets

1

sabica
salamat datang di blog percobaan saya ini, terima kasih atas kujungan anda!

Selasa, 27 Maret 2012

tooltip 2

 http://chandrajatnika.com/2008/07/t-10-tooltips-simple-tooltips-generator-untuk-mempercantik-presentasi-website-anda/

 

T-10 Tooltips: Simple Tooltips Generator Untuk Mempercantik Presentasi Website Anda

tooltips
Sebuah website dibuat untuk tujuan merepresentasikan sesuatu. Layaknya dalam sebuah presentasi konvensional, sebuah trik untuk membuat presentasi itu terlihat professional dan menjanjikan adalah dengan menambahkan efek-efek dalam setiap tulisan. Teknologi website pun tidak ketinggalan, saat ini migrasi web biasa menjadi web 2.0 membuat sebuah presentasi di website lebih menarik dan professional. Banyak efek ditambahkan demi kenyamanan penunjung yang sedang mencari informasi di website tersebut.
Tooltip adalah teknik merepresentasikan website lebih baik, contoh sebuah tooltip adalah ketika anda mengarahkan kursor anda di atas tulisan ini. Namun pada web tooltip masih dirasa kurang karena sangat terbatas dalam memberi keterangan sebuah link atau gambar. Oleh karena itu saya mencoba membuat tooltip dengan fasilitas yang lebih menarik dan menunjukkan kesan lebih professional daripada tooltip biasa.

Kelebihan tooltip ini adalah anda dapat me-load isi 1 file untuk bahan presentasi anda melalui tooltip dan format text pada tooltip juga bisa diisi HTML, dan anda juga bisa menampilkan sebuah gambar dalam ukuran apapun ketika tooltip muncul.

Sekarang menuju ke source code library ini.

Pertama, siapkan framework prototype.js (versi 1.6) dan salin ke folder tooltip anda.


Kedua, sediakan beberapa contoh content untuk di load di tooltip anda.

Lalu, buat file JavaScript dengan nama “tooltip.class.js” dan isi file tersebut adalah spt ini:

/*
 Pembuat: Chandra Jatnika
 Website: chandrajatnika.com
 Nama   : T10 Tooltip
 Tujuan : Membuat Tooltip dinamis di setiap element HTML
*/
var T10Tooltip = Class.create(

  { 
    // method initialize adalah konstruktor dari class T10Tooltip
 initialize: function(){ 
  /* tidak melakukan apa-apa, anda bisa menambahkan beberapa 
     perintah disini apabila ingin mengembangkan */
 }, 
 set: function(element,filename,maxwidth){ 
  /* periksa apakah nama file adalah sebuah image karena program selanjutnya
     akan memperlakukan hal berbeda antara image atau file text */

  var isImage = this._isImage(filename);
 
  // siapkan id unik untuk tiap element tooltip

  var id = this._tooltipID + element;
 
  // jika lebar maksimal tooltip tidak didefinisikan maka defaultnya adalah 400px

  var maxwidth = maxwidth || 400;
 
  // buat element berupa tag div untuk membuat element tooltip
  var div = '<div id="'+id+'" style="position:absolute; ';

  div += 'left:0px; top:0px; border:1px solid #000; padding:4px; ';
  div += 'font-size:11px; background-color: #FFF; width: '+maxwidth+'px"></div>'

 
  // sisipkan element tooltip ke dalam dokumen
  new Insertion.Bottom(document.body, div)

  $(id).hide(); // setelah selesai disisipkan lalu sembunyikan element 
 
  var hasLoad = false;  
  Event.observe(element,'mouseover',function(event){

   /* variable hasLoad sebelumnya bernilai false dan jikalau masih false maka 
      perintah di bawahnya akan dieksekusi, namun setelah itu hasLoad di setting
      lagi dengan nilai true. ini bertujuan agar load content hanya dilakukan 1 kali
      sampai element tooltip terisi penuh dari content yg diinginkan. ini semua dilakukan
      karena event mouse over akan terus dipanggil berkali-kali apabila mouse terus 
      bergerak di atas element pemicu tooltip */            
   if(!hasLoad){
    hasLoad = true;

    if(isImage) $(id).update('<img src="'+filename+'">'); // load file image

    else new Ajax.Updater(id,filename,{method: 'get'}); // load file text

   }
 
 
   $(id).show(); // tampilkan element tooltip yg sebelumnya disembunyikan

 
   // dua baris di bawah untuk menentukan posisi koordinat element tooltip 
   //$(id).style.top = Event.pointerY(event) + 'px'; 
   //$(id).style.left = Event.pointerX(event) + 'px';
 
   // element tidak akan hilang apabila mouse menuju ke element tersebut
   Event.observe(id,'mouseover',function(){ $(id).show() });

   Event.observe(id,'mouseout',function(){ $(id).hide() });

  });
 
  Event.observe(element,'mousemove',function(event){ 
   // dua baris di bawah untuk menentukan posisi koordinat element tooltip 

   $(id).style.top = Event.pointerY(event)+ 2 + 'px'; 
   $(id).style.left = Event.pointerX(event) + 'px';

  });
 
  /* apabila mouse keluar dari element pemicu tooltip maka 
     element tooltip akan disembunyikan */
  Event.observe(element,'mouseout',function(){

   $(id).hide()
  });
 },

 _isImage: function(filename){
  // ambil extention file
  var extention = filename.split('.').last();   
  // tentukan extention dari beberapa image

  var imagearray = ['jpg','jpeg','png','gif','bmp','ico'];   
  // jika extention file mengandung extention image maka kembalikan nilai true

  return (imagearray.indexOf(extention) > -1)
 },

 /* id unik untuk membentuk id element tooltip, dapat anda ubah apabila banyak 
    element dengan id serupa di dalam web anda */
    _tooltipID: '_divToolTip' 
  }
);

Kemudian buat interface utk tooltip ini, entah itu file PHP atau HTML bukan masalah karena library tooltip ini berbasis JavaScript. Kemudian ini file tersebut dengan script di bawah ini.

<html>
<head>
<title>T-10 Tooltips v1.0</title>
<script language="javascript" src="prototype.js"></script>

<script language="javascript" src="tooltip.class.js"></script>
<script language="javascript">

 /* setelah dokumen selesai di-load maka setting beberapa element 
  agar dapat mengeluarkan tooltip */
 window.onload = function(){
   var tooltip = new T10Tooltip();
   /* penggunaan method set:
      tooltip.set( NAMA_ELEMENT , PATH_KE_FILE , [LEBAR_MAKSIMAL] ) */
   tooltip.set('a1','samplecontent/ads.htm');
   tooltip.set('a2','samplecontent/list.php');
   // menampilkan gambar lebih baik tentukan juga lebar maksimalnya
   tooltip.set('a3','samplecontent/SnapT10.jpg',500); 
   tooltip.set('img1','samplecontent/Sunset.jpg',800);
 }
</script>
<style>
 body,table{
  font-family:Verdana, Arial, Helvetica, sans-serif
 }
</style>
</head>
<body>

<a href="#" id="a1">Just Introduction</a><br /><br />

<a href="#" id="a2">A Simple PHP List</a><br /><br />

<a href="#" id="a3">You Can See The Screenshot From This Link If You Want To</a><br /><br />

<img src="Sunset.jpg" id="img1" /><br />
<span style="font-size:10px">Place your mouse on this image if you want to see the image true size</span>

</body>
</html>

Untuk melihat hasil script diatas anda dapat menuju link ini.
Script lengkap juga saya sediakan dan dapat anda download disini.
Semoga dapat menambah wawasan… ^_^


















  1. Gozen XKSG

    July 28th, 2008 at 11:06 | #1


    Subarashii!


    Suteki!

    Kirei!

    Kakoi!
    Bener2 nice pak, kirain bisa ngelihat yg kya gini di program browser opera doank. ternyata bisa dibuat sendiri…
    Thanks!




  2. Erwin



    July 28th, 2008 at 11:55 | #2

    Mas saya ada sedikit tambahan, supaya pada saat mouse-move, tooltipnya mengikuti gerakan mouse. Berikut tambahannya :

    // dua baris di bawah untuk menentukan posisi koordinat element tooltip

    //$(id).style.top = Event.pointerY(event) + ‘px’;

    //$(id).style.left = Event.pointerX(event) + ‘px’;
    Event.observe(element,’mousemove’,function(event){

    // dua baris di bawah untuk menentukan posisi koordinat element tooltip

    $(id).style.top = Event.pointerY(event)+ 2 + ‘px’;

    $(id).style.left = Event.pointerX(event) + ‘px’;


    });
    Saya pindahkan kode yang mengatur posisi agar di-triger saat event onmousemove. Dan juga menambah 2 pixel jarak antara tooltip dan element, agar saat geser kekanan tooltipnya tidak menghalangi event element.

    Saya juga meng-uncoment kode yang meng-hide tooltip pada saat event element.mouseout.
    /* apabila mouse keluar dari element pemicu tooltip maka

    element tooltip akan disembunyikan */

    Event.observe(element,’mouseout’,function(){

    $(id).hide()


    });
    Terakhir saya ingin bilang “Nice Articel”. Saya sebenernya lagi belajar Prototype dan kebetulan juga lagi perlu tooltip. Hanya saja selama ini saya cari kebanyakan menggunakan kode sendiri yang sangat panjang dan jadi nggak gampang dimengerti. Ada juga yang pakai YUI tapi sangat kompleks untuk sekedar tooltip.
    Thanks mas.




  3. admin


    July 28th, 2008 at 12:16 | #3

    Wah, saya juga terima kasih banyak sama mas erwin udh dikasih tambahan script yang buat tooltip ini lebih cool.

    Ooops, mengenai comment itu saya emang salah, saya post gak uncomment dl sebelum nge-post, krn itu saya lakukan utk buat screenshot di gambar atas aja.

    Jadi utk semua yg dah terlanjur salin script langsung dari blog ini jgn lupa uncomment baris ke 62 ya…hehe






  4. chasi

    September 11th, 2008 at 13:42 | #4



    wah websita nya keren bnged y..

    isinya di perbanyak lagi y.

    bagaimana klo membahasa tentang pengetahuan umum juga?

    tidak hanya terbatas pada coding saja?

    misal teknologi komputer terbaru ato software terbaru yang handal dalam membangun web?






  5. jo

    March 27th, 2009 at 19:40 | #5


    kalo mau bikin di wordpress gimana ya?




  6. March 27th, 2009 at 20:06 | #6



    bisa aja mas…tp lebih baik di convert dulu deh scriptnya menjadi jQuery karena wordpress banyak plugins-nya pake jQuery.





  7. khafid asep

    February 8th, 2010 at 12:04 | #7

    makasih bnyak infonya….. smoga bermanfaat ilmunya
    difahk_if




  8. February 12th, 2010 at 11:10 | #8



    Luar biasa

    Mantabs….!!

Tidak ada komentar:

Posting Komentar

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin

cari

 
  • Blogroll

    Connect With Us

  • Consectetuer

    Recomended

  • terbanyak dilihat

    Instructions

  • Comments