jQuery | Kolay (Eklentisiz) Akordion Menü


avascript çatılarının hayatımızı oldukça kolaylaştırdığını inkar edemeyiz, normalde yapmak için çok uğraşacağınız bir efekti, bu hazır kütüphaneler ile tek satır kod yazarak yapabiliyorsunuz.
Akordion menü yapmak istediğinizde de aynı kolaylığı elde etmek istersiniz, en az satir kod ile en fazla işi yapmak istersiniz. Jquery ile hiç bir eklenti kurmadan böyle bir menü yapmak mümkün.



Adım 1: HTML yapısı

Html dosyamızın içeriği şu şekilde oluşmalı:
Koodla | Blog
Koodla | Blog'a hoşgeldiniz.
PHP
Koodla | Blog sitesinde PHP ile ilgili pek çok örnek bulabilirsiniz.

Örnek sayfamıza göz attıysanız, bu bölümlerden 6 tane var, isteğimize göre sayısını arttırabilir veya azaltabiliriz.
Bölümlerin altında 2 tane daha div etiketi var, biri, ust_menu, diğeri ise icerik bolümü. İçerik bölümü tıklanınca gözükecek olan kısım. Yani tıklanmadan gözükmemesi lazım. Bunu da CSS kodu ile ayarlıyoruz:

Adım 2: CSS

Css kodumuz ise, görünüşleri ayarlayan diğer kodların dışında şu şekilde:
.icerik {
 display:none;
 background-color:#4096EE;
 width:470px;
 margin:5px;
}

İçerik bölümünün gözükmesini istemiyoruz ve bunu da bu ufak kod ile sağlıyoruz. Yalnız doküman yüklendiğinde bölüm1′in içeriğinin gözükmesini istiyorsak, html kodunda, sizinde farkedeceğiniz üzere “display:block” özelliği atadık. Bunu yapmazsak, doküman ilk yüklendiğinde bütün bölümler kapalı gelir. (çokbüyük bir sorun değil aslında…)

Adım 3: Jquery

Dokümanımıza şu kodu eklediğimizde akordionu yapmış olacağız:
{
 $("#bolum1, #bolum2, #bolum3, #bolum4, #bolum5, #bolum6").click(function()
    {
  $("div.icerik").slideUp("slow");
  $("div.icerik", this).slideDown(300).siblings("div.icerik").slideUp("slow");
 });
 
});

Akordion olacak bütün bölümlere tıklanma olayını ekliyoruz, tıklanınca bütün bölümlerin kapanmasını, yalnızca tıklanan bölümün açık kalmasını sağlıyoruz. İki satır kod ile kolaylıkla bunu yapmış oluyoruz.

Sonuç

Hiçbir eklenti kullanmadan ve yalnızca iki satır kod ile bunu yapmak çok hoş, ancak bazı dezavantajlar da bulunmakta.
Bu kodda, farkedeceğiniz üzere kapatılacak bölümleri yakalamak için siblings() metodu kullanılıyor, dolayısıyla dokümanınızda div hiyerarşisi, bu örnektekine benzer şekilde ayarlanmalı ve div etiketlerinin hepsi doğru şekilde kapatılmış olmalı.
Ama başka bir eklenti kullanmadan rahatlıkla akordion menü yapabilmekteyiz. Bir sonraki jquery yazımızda görüşmek üzere!

Hiç yorum yok:

Yorum Gönder

 

Sample Text

Sample Text