Halaman

misther-junett.blogspot.com
  • Web
  • misther-junett
  • Kamis, 10 Maret 2011


    Menu 3 Level dengan CSS & JQuery

    Tidak dapat disangkal lagi bahwa menu dengan sub submenu (3 level) merupakan komponen yang cukup sering dipakai dalam beberapa website, terutama jika website tersebut memiliki struktur navigasi halaman yang  ‘beranak bercucu’. Okay langsung saja, disini ada beberapa bumbu yang saya gunakan dalam pembuatan menu 3 level ini, yaitu:
    • CSS 2.0
    • JQuery
    • XHTML
    Dengan struktur file sebagai berikut:
    • /menu.html
    • /menu.css
    • /script.js
    • /jquery-1.4.2.min.js
    Browser compatibility: IE 6 (masih perlu di-cross check lagi), IE 7, IE 8, Firefox 2+, Chrome 4+, Opera 9+, Safari 4+
    Langkah 1: Buat struktur menu berikut pada file menu.html
    <ul id="nav">
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a>
    <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a>
    <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Clients</a></li>
    <li><a href="#">Contact Us</a></li>
    </ul>
    </li>
    <li><a href="#">Clients</a></li>
    <li><a href="#">Contact Us</a></li>
    </ul>
    </li>
    <li><a href="#">Clients</a>
    <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Clients</a></li>
    <li><a href="#">Contact Us</a></li>
    </ul>
    </li>
    <li><a href="#">Contact Us</a></li>
    </ul>
    Langkah 2: Buat style untuk mengatur tampilan pada langkah 1 (menu.css)
    body{
    font-family: Helvetica, arial, sans-serif;
    }

    #nav{
    background: #e5e5e5;
    float:left;
    margin: 0; padding: 0;
    }

    #nav li a, #nav li{
    float: left
    }

    #nav li{
    list-style: none;
    position: relative
    }

    #nav li a{
    padding: 0.5em 2em;
    text-decoration: none;
    background: #1764bf;
    color: white;
    border-right: 1px solid #114b8f;
    border-left: 1px solid #1764bf;
    border-bottom: 1px solid #4173af;
    border-top: 1px solid #274f7f;
    }

    #nav li a:hover{
    background: #4d88cf;
    }

    /*submenu*/
    #nav li ul{
    display: none;
    position: absolute;
    left: 0;
    top:100%;
    padding:0;margin:0;
    }

    #nav li:hover > ul{
    display: block;/*memunculkan submenu ketika a pada menu level 1 di hovers*/
    }

    #nav li ul li, #nav li ul li a{
    float: none;
    }

    #nav li ul li{
    _display:inline;/* dukungan untuk ie6 */
    }

    #nav li ul li a{
    width: 150px;
    display: block;
    }

    /*sub submenu*/

    #nav li ul li ul{
    display: none;
    }

    #nav li ul li:hover ul{
    left:100%;
    top:0;
    }
    Untuk font, warna, dan ukuran dapat disesuaikan dengan selera Anda masing-masing.
    Pada langkah 2 ini sebetulnya menu 3 level sudah bisa berjalan dengan baik, namun jika Anda ingin mempercantiknya dengan efek slidedown, silakan lanjutkan ke langkah berikutnya.
    Langkah 3: Membuat efek slidedown dengan Javascript (script.js)
    var subsubmenu = function (){
    this.navLi=$('#nav > li').children('ul').css('display', 'none').end();
    this.init();
    };

    subsubmenu.prototype={
    init : function(){
    this.setMenu();
    },

    //Memberikan efek slide

    setMenu: function(){

    this.navLi.hover(function(){
    //mouseover
    $(this).find('>ul').stop(true,true).slideDown(250);
    }, function(){
    //mouseout
    $(this).find('>ul').stop(true,true).fadeOut(200);
    });
    }

    }

    new subsubmenu();
     
     
    Framework yang saya gunakan ialah JQuery versi 1.4.2, tidak menutup kemungkinan dapat berjalan dengan baik pula pada JQuery versi lebih lama. Karena perintah yang digunakan ialah perintah dasar.
    Langkah 4: Nyalakan rokok, aduk kopi, dan download contohnya agar lebih jelas ;)
    Jika rekan-rekan sekalian menemukan bug/bugfix silakan tulis dalam komentar, bagaimana pun juga saya hanyalah seorang nubie yang tak luput dari bug (terutama Internet Explorer).



    Untuk membuat menjadi vertikal caranya cukup sederhana dengan mengubah/menambah sedikit baris style pada selektor terkait dibawah ini#nav li ul li, #nav li ul li a{
    float: none;
    }
    #nav li a{
    display:block;
    }
    #nav li ul{
    left:100%;
    top:0;
    }
    hanya perlu dirapikan sedikit ;)

    MENGATUR DAFTAR ISI

    Untuk mengatur daftar isi seperti text dan link supaya lebih rapih di lihatnya.
    kita akan menggunakan kode OL(ordered list) UL(unordered list) dan LI(list item).
    Contoh kita akan mengatur text atau linknya dengan menggunakan UL dan LI .
    Contoh:

    Kode di atas akan menghasilkan daftar isi dengan bundaran seperti ini:
    • Di sini isi text dan linknya
    • Di sini isi text dan linknya

    Nah keterangan di atas seperti ini: <ul> adalah bentuk type bundarannya, dan <li> adalah yang mengatur barisannya.. Nah untuk Bentuk <ul> itu bermacam macam jenisnya, ada SQUARE, CIRCLE dan DISC.. yang bundar, yang kotak dan yang kotak kosong.

    Contoh untuk UL yang bentuk SQUARE.
    Kodenya:
    Nah kode di atas akan tampil UL berbentuk kotak seperti ini:
    • Di sini isi text dan linknya
    • Di sini isi text dan linknya
    Untuk UL yang bentuk CIRCLE.
    Kodenya:
    Nah kode ul yang ini akan menghasilkan kotak kosong seperti ini:
    • Di sini isi text dan linknya
    • Di sini isi text dan linknya
    Dan untuk UL yang bentuk DISC itu sama dengan bentuk UL yang pertama di atas akan menghasilkan UL bundar.

    Nah sekarang kita akan mengatur daftar isinya dengan menggunakan OL(ordered list) untuk pengganti UL(unordered list), UL itu bentuknya bundar, kotak dan kotak kosong. Tapi kalau OL itu bentuk huruf dan angka.
    Contoh untuk menggunakan OL berbentuk huruf:
    Kode di atas akan tampil dengan barisan urutan huruf seperti ini:
    1. Di sini isi text dan linknya
    2. Di sini isi text dan linknya
    3. Di sini isi text dan linknya
    Untuk OL yang berbentuk angka Kodenya:
    Nah kode OL yang ini akan tampil dengan urutan angka seperti ini:
    1. Di sini isi text dan linknya
    2. Di sini isi text dan linknya
    3. Di sini isi text dan linknya
    Nah jadi fungsi OL itu untuk mempermudah kita menulis daftar urutan huruf dan angka. kita tidak harus susah susah menulis huruf A sampai Z dan menulis 1 sampai 100..
    Dengan menggunakan kode OL kita cukup mengetikan huruf A dan nanti akan otomatis keluar huruf B,C,D dan seterusnya..
    cara menulisnya dengan format seperti ini:
    <ol type="A">
    Dan untuk format angka tinggal di rubah hurufnya menjadi angka, contohnya seperti ini:
    <ol type="1">
    cukup mudahkan membuat daftar urutan angka dan huruf.?

    Nah dan untuk mengisi text atau linknya kita harus menambahkan kode <li>
    Contoh:
    <ol type="1"><li>di sini untuk meletakan textnya</li> dan seterusnya, yang penting untuk mengisi textnya harus di awali kode <li> dan untuk penutupnya harus di ahiri kode </li> . Nah kalau sudah selesai menulis textnya nanti harus di akhiri dengan kode </ol>
    selesai deh...

    paham kan?.
    ya sudah selamat berkreasi sendiri yah..

    Membuat Membuka Link Di Tab Baru

       Pernah ga anda klik link dan munculnya di tab baru?  Mau membuatnya juga? ikuti langkah di bawah ini :

    *Biasanya pada link kodenya akan seperti ini :

               <a href='http://bloganda.com'>Blog Anda</a>

    *Untuk membuatnya terbuka di tab baru ganti dengan :

    <a href="#" target="_blank" rel="dofollow" onclick="window.open('http://bloganda.com'); return false;">Blog Anda</a>

    Cat : Ganti teks yang berwarna merah dengan Alamat Link yang  inginkan
            Ganti teks yang berwarna Biru dengan kata yang akan muncul mewakili Alamat Link

    Selamat Mencoba :D