30 Ağustos 2010’da uygulamanın valid olmaması nedeniyle düzenlenmiştir. Yeni uygulmadaki fark title tagları üzerinden açılacak tablar bulunmuştur.
jQuery çalışmalarına devam ediyoruz şimdi ise jQuery tab kontrol yani tab menü yapacağız . jQuery dosyasını yazarken baya bir açıklama yaptım takıldığınız yer olursa oradanda bakabiliriz.
jQuery ile basit bir tab menü yapmak çok kolaydır ve statiktir bunu jQueryden az çok anlayan insanlar kullanabilir ve düzenleyebilir ama benim amacım çok esnek yapıda menu eklemek – çıkartmak. Bunun için jQuery kütüphanesinden removeAttr , addClass ve attr fonksiyonlarını kullandım. Öncelikle menümüzü hazırlayalım ve gerekli css , html kodlarını yazalım.
Ben iğrenç görünümlü bir menü oluşturdum her ne kadar renkler birbirinden uyumsuz olsada artık siz css kısımından menüyü düzeltebilirsizniz.
Menu ön izleme :
Menü html kodları
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
<div class="disKutu"> <div class="ustMenu"> <ul class="anaMenu"> <li><a class="aktifA" title="tab1">Atatürk Köşesi</a></li> <li><a title="tab2">Css</a></li> <li><a title="tab3">jQuery</a></li> <li><a title="tab4">Tost siteler</a></li> </ul> </div><!-- ustMenu DIV kapanis --> <div class="acilacakTabMenuler"> <!-- #tab1 --> <ul class="acilacakMenu aktifUl" id="tab1"> <li><a href="http://www.ataturk.net/">Atatürk</a></li> <li><a href="http://www.atauni.edu.tr">Atatürk üniversitesi</a></li> <li><a href="http://www.atam.gov.tr/">Atatürk araştırma merkezi</a></li> <li><a href="http://tr.wikipedia.org/wiki/Mustafa_Kemal_Atat%C3%BCrk">Wiki'de Atatürk</a></li> <li><a href="http://egitek.meb.gov.tr/uretim/atacd/005/Menu/Menu.htm">Kurtuluş savaşı öncesi</a></li> </ul> <!-- #tab2 --> <ul class="acilacakMenu" id="tab2"> <li><a href="http://www.aycan.net/blog/css/css-z-index-elementi-nedir-nasil-kullanilir.html">z-index</a></li> <li><a href="http://www.aycan.net/blog/css/css-position-nedir-nasil-kullanilir.html">position</a></li> <li><a href="http://www.aycan.net/blog/css/cssde-opacity-komutu.html">opacity</a></li> <li><a href="http://www.aycan.net/blog/css/haydi-ul-li-taglarini-ogrenelim.html">ul-li tagları</a></li> <li><a href="http://www.aycan.net/blog/css/css-de-sablon.html">css şablon</a></li> <li><a href="http://www.aycan.net/blog/css/css-jquery-tasarimlarim.html">css ve jQuery tasarımlarım</a></li> </ul> <!-- #tab3 --> <ul class="acilacakMenu" id="tab3"> <li><a href="http://www.aycan.net/blog/jquery-ajax-javascript/jquery-popup-uygulamasi.html">popup uygulaması</a></li> <li><a href="http://www.aycan.net/blog/jquery-ajax-javascript/jquery-fadeto.html">fadeTo</a></li> <li><a href="http://www.aycan.net/blog/jquery-ajax-javascript/jquery-acilir-menu.html">açılır menu</a></li> <li><a href="http://www.aycan.net/blog/jquery-ajax-javascript/jquery-ile-ul-icerisindeki-li-taglarini-ortalamak-eq-math.html">jquert eq()</a></li> <li><a href="http://www.aycan.net/blog/jquery-ajax-javascript/jqueryde-acilir-kapanir-div.html">jquert efekler</a></li> </ul> <!-- #tab4 --> <ul class="acilacakMenu" id="tab4"> <li><a href="http://www.aycan.net/">aycan.net</a></li> <li><a href="http://www.xotesi.net/">xotesi.net</a></li> <li><a href="http://www.datatr.com/">datatr.com</a></li> <li><a href="http://www.zone.org/">zone.org</a></li> <li><a href="http://www.r10.net/">r10.net</a></li> <li><a href="http://www.iyi.net/">iyi.net</a></li> <li><a href="http://www.fuub.net/">fuub.net</a></li> </ul> </div><!-- acilacakTabMenuler DIV kapanis --> </div><!-- disKutu DIV kapanis --> |
Menü Css kodları
|
.disKutu{width:350px; overflow: hidden; background:#B44D4D;} .ustMenu{width:100%; overflow: hidden; background:#956FAC;} ul.anaMenu{width:100%; overflow: hidden; list-style: none;} ul.anaMenu li{ float:left; } ul.anaMenu li a{ background: #4D94B4; padding: 3px;margin-left:10px; color: #e2e2e2; font-size: 12px; font-family:Calibri; border:1px solid #e2e2e2;float:left; } ul.anaMenu li a.aktifA{ background: #cd1821; color: #fff; text-decoration: none;} .acilacakTabMenuler{width:100%; overflow: hidden; margin:15px 0 15px 0;} ul.acilacakMenu{margin:0; padding: 0;width:97%; overflow: hidden; display: none; } ul.acilacakMenu.aktifUl{display: block; } ul.acilacakMenu li{list-style:none;} ul.acilacakMenu li a{background: #C4B74B; margin-left:10px; display: block; color:#fff; font-size: 14px; padding:5px; font-family:calibri; text-decoration: none;margin-top: 5px; } ul.acilacakMenu li a:hover{ background: #4D94B4;text-decoration: underline; padding-left:10px; } |
Şimdi sıra geldi jquery işlemlerine ilk başta sayfamıza jquery.js veya googleapis’deki js dosyasını entegre edelim sonra bir alt satıra oluşturduğum ab-tabmenu.js dosyasını entegre edelim.
|
type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript" src="js/ab-tabmenu.js"></script> |
İşlemlerimiz bitti şuan jquery tab menümüz çalışır bir vaziyette ama bizim işimiz örnekleri anlatmak o yüzden ab-tabmenu.js dosyasını açıyorum ve anlatmaya başlıyorum.
|
$(document).ready(function(){ işlemler }) |
Sayfa yüklendiğinde şu işlemleri yap.
|
$('.anaMenu li a').hover(function() { ..} |
anamenu classlı ul içerisindeki li içindeki a linkinin üzerine gelindiğinde fonksiyonu çalıştır
|
$('.anaMenu li a').removeAttr('class'); |
removeAttr ile şunu diyoruz : anaMenu’nun altindaki li tagının altındaki a taglarinin hepsini classlarini sil.
|
$(this).addClass('aktifA'); |
addClass ile şunu diyoruz : üzerine geldiğimiz menünün class’ına aktifLi değerini yaz.
|
var acilacakTab = $(this).attr('title'); |
attr ile şunu diyoruz : acilacakTab degerinde bir degisken oluştur ve ustune gelinen menunun id=”***” degeri al.
|
$('.acilacakTabMenuler ul').hide(); |
acilacakTabMenuler div’inin icerisindeki ul’lari bul ve hepsini gizle.
|
$('.acilacakTabMenuler #' + acilacakTab + '' ).show(); |
Yukaridaki ” var acilacakTab = $(this).attr(‘id’); ” satirda ustune gelinen menunun id degerini al sonra acilacakTab olan (tab1 , tab2 , tab3 , vs.. ) degerini ul id degeri olarak ata ve o ul’u aç.
Bütün işlemlerimiz bu kadar arkadaşlar.
Epeki ben nasıl menü ekleyeceğim çıkartacağım sorusuna cevab ise :
Bir menü eklemek istiyorsanınız 2 işlem yapmanız gerekiyor
işlem 1 :
|
<ul class="anaMenu"> <li><a class="aktifA" title="tab1">Atatürk Köşesi</a></li> <li><a title="tab2">Css</a></li> <li><a title="tab3">jQuery</a></li> <li><a title="tab4">Tost siteler</a></li> </ul> |
buraya
|
<li><a href="javascript:;" title="tab5">Yeni menü</a></li> |
ekleyin sadece title kısmında tab5 yazın
işlem 2 :
Üst kısıma yeni menünün adını yazdık ama içeriğini yazmamız lazım
|
<div class="acilacakTabMenuler">....</div> |
bu div’imizin içerisine yeni bir ul ekliyoruz
|
<!-- #tab5 --> <ul class="acilacakMenu" id="tab5"> <li><a href="#">deneme</a></li> <li><a href="#">deneme</a></li> <li><a href="#">deneme</a></li> <li><a href="#">deneme</a></li> <li><a href="#">deneme</a></li> <li><a href="#">deneme</a></li> <li><a href="#">deneme</a></li> </ul> |
burada ise yukarıdaki Yeni Menü isimli li’mize verdiğiniz id değerini bu ul’un id kısmına verin. İd değerleri aynı olmak zorundadır.
Menu eklemek bu kadar basit. Menü silmek ise bunun tam tersidir ve uygulamamız tamamen hazır bir hale geldi.