26 Ekim 2014 Pazar

Kategorilerimizi Animasyonlu Açılır Menü İle Listelemek


    Kategorilerimizi listelemek için bazen açılır menülere ihtiyaç duyabiliriz. Örneğin kullanıcının seçtiği bir kategoriye göre ajax ile o kategoriye ait bilgileri ekrana yazdırdığınızı düşünürsek, kategorilerinizi açılır bir menü ile listelemek en iyi yollardan biridir.

   Açılır menümüzü yaparken jquery ve css kullanacağız.

Kategorilerimizi "kategori-menu" adlı class'a sahip liste içerisinde listeleyeceğiz. Seçilen kategoriyi kullanıcıya "secili-kategori" class'a sahip a etiketi içerisinde göstereceğiz.
.icerik{
margin: 80px auto;
width: 200px;
text-align: left;
}
.secili-kategori {
background: url(ok.jpg) no-repeat right;
background-color: #0166FF;
border:1px solid #222222;
display:block;
font-size:14px;
font-weight: bold;
padding:5px 5px 5px 8px;
position:relative;
text-shadow:1px 1px 1px #CCCCCC;
width:195px;
color: #000;
text-decoration: none;
}

.kategori-menu {
background-color: #222222;
display:none;
width:198px;
border: 1px solid #222222;
position: absolute;
padding: 5px;
overflow: hidden;
}

.kategori-menu li {
list-style-type: none;
}

.kategori-menu li a {
color:#FFFFFF !important;
text-decoration:none;
padding:5px 5px 7px 5px;
display:block;
text-shadow:1px 1px 1px #fff;
}

.kategori-menu li a:hover {
background-color: #0166FF;
}
Css kodumuz içerisinde dikkat etmemiz gereken iki nokta var. İlk olarak "kategori-menu" adlı class'a sahip listemizi "display:none;" ile gizliyoruz ve "position:absolute;" ile konumunu sabitliyoruz bu şekilde listemiz açılırken diğer etiketlerin konumunu bozmayacaktır.
$(function () {
//secili-kategori class'ına sahip linke tıklarsa listeyi görünür yap
$('a.secili-kategori').click(function () {
$('ul.kategori-menu').slideToggle('medium');
return false;
});

//Listemizde bulunan kategorilere tıklandığında
//"secili-kategori" adlı class'a sahip linkin textini seçilen kategorinin adı yap
$("ul.kategori-menu li a").click(function() {
var text = $(this).html();
$(".secili-kategori").html(text);
$("ul.kategori-menu").slideUp();

return false;
});

//Ekranda herhangi bir yere tıklandığında listemizi gizle
$(document).bind('click', function(e) {
var $clicked = $(e.target);
if (! $clicked.parents().hasClass(".kategori-menu"))
$("ul.kategori-menu").slideUp();
});
});
Menü içerisinde kullandığınız başlıklara ait ekleyecek olduğunuz linkleri açmak için Jquery kodları içerisinde yer retun false; kodunu silmeniz gerekiyor.



Blogumuza Abone Olun
Yeni Yazılar e-posta Adresinize Gelsin
Not: Gelen Maili Aktif Etmeyi Unutmayınız!

Hiç yorum yok:

Yorum Gönder