jQuery İle Farklı Açılan Menü – Different Drop Down Menu With jQuery
Bildiğiniz gibi açılan menüler genelde listelerin alt menüleri olarak tanımlanır. Fakat geçen gün internette gördüğüm bir örnek jQuery ile çok farklı bir şekilde kullanılmış bir alt menü (drop down) olarak karşıma çıktı. Biraz inceledikten sonra sizler için onu yeniden yazıp Türkçe şekilde örneklendirdim.
Adım 1 – Html Kodlarını Eklemek
<div id="Main"> <h1>jQuery İle Farklı Açılan Menü</h1> Açılan menüler genelde direk menü listelerinin alt bölümleri veya yan bölümleri olarak bilinse de jQuery ile çok farklı şekillere sokulabilir. <a href="http://www.thewebsqueeze.com/samples/mega-menu/demosite/">http://www.thewebsqueeze.com/samples/mega-menu/demosite/</a> isimli sitedeki yapılan örneği Türkçe olarak sizler için yeniden yaptım. <!--Menü Başla--> <div class="MenuDiv"> <ul class="AnaMenu"> <li><a href="#">Menü 1</a></li> <li class="Ok"><a href="#">Menü 2</a></li> <div class="AltMenuAlan"> Bu alana Alt menüye bastığınızda çıkacak menü ile iglili bazı bilgiler yazabilirsiniz. <div class="Sol"> <h3>Menü2' ye ait 1. Alt Menü</h3> <ul class="AltMenuSol"> <li><a href="#">Alt Menü 1-1</a></li> <li><a href="#">Alt Menü 1-2</a></li> <li><a href="#">Alt Menü 1-3</a></li> <li><a href="#">Alt Menü 1-4</a></li> </ul> </div> <div class="Sag"> <h3>Menü2' ye ait 2. alt Menü</h3> <ul class="AltMenuSag"> <li><a href="#">Alt Menü 2-1</a></li> <li><a href="#">Alt Menü 2-2</a></li> <li><a href="#">Alt Menü 2-3</a></li> <li><a href="#">Alt Menü 2-4</a></li> </ul> </div> </div> <li><a href="#">Menü 3</a></li> <li class="Ok2"><a href="#">Menü 4</a></li> <div class="AltMenuAlan2"> Bu alana Alt menüye bastığınızda çıkacak menü ile iglili bazı bilgiler yazabilirsiniz. <div class="Sol"> <h3>Menü2' ye ait 1. Alt Menü</h3> <ul class="AltMenu2Sol"> <li><a href="#">Alt Menü 1-1</a></li> <li><a href="#">Alt Menü 1-2</a></li> <li><a href="#">Alt Menü 1-3</a></li> <li><a href="#">Alt Menü 1-4</a></li> </ul> </div> <div class="Sag"> <h3>Menü2' ye ait 2. alt Menü</h3> <ul class="AltMenu2Sag"> <li><a href="#">Alt Menü 2-1</a></li> <li><a href="#">Alt Menü 2-2</a></li> <li><a href="#">Alt Menü 2-3</a></li> <li><a href="#">Alt Menü 2-4</a></li> </ul> </div> </div> <li><a href="#">Menü 5</a></li> </ul> </div> <div class="GenelIcerik"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tempor, magna vel feugiat lacinia, dui arcu rutrum purus, eu rhoncus eros quam at urna. In aliquet diam a nisl imperdiet sollicitudin. Sed lacinia laoreet ante at aliquet. Mauris sed felis eu ligula tempor vulputate et id purus. Fusce orci enim, blandit at sodales sit amet, aliquam et neque. Suspendisse non ante sit amet erat egestas viverra. Donec mattis aliquet diam nec dapibus. Proin neque ligula, pharetra ut rutrum a, imperdiet ac ligula. Etiam molestie, massa vitae venenatis aliquet, risus justo accumsan orci, nec facilisis neque metus vitae nulla. Phasellus vehicula purus ut justo fringilla ultrices. Aliquam cursus, tellus interdum lacinia volutpat, felis arcu suscipit ipsum, ac ultricies tortor dolor non urna. Integer a libero sed neque vulputate dictum et sed tortor. Aliquam velit lorem, porttitor vel cursus vel, luctus sed ante. Integer metus arcu, varius ac semper vel, fermentum hendrerit ipsum. Donec eget velit vel eros pretium consequat. Duis molestie ligula eu mauris sollicitudin aliquam ut in massa. Mauris elementum accumsan vestibulum. Nulla consectetur malesuada orci non molestie. Donec porttitor justo venenatis purus mattis auctor. Donec commodo porttitor egestas. Donec venenatis magna lorem, vitae porta est. Integer egestas adipiscing erat sed venenatis. Donec tincidunt dignissim pellentesque. Morbi ut pretium quam. Duis faucibus rutrum augue ac porta. Nulla nunc libero, tempus a mollis quis, egestas quis leo. Donec a erat non orci porta facilisis sit amet eu diam. Pellentesque mauris sapien, dapibus ac tristique vitae, condimentum sit amet enim. Vestibulum vitae magna diam, vel tincidunt erat. Duis varius suscipit congue. In vitae dolor sagittis lorem congue ullamcorper.</div> <div class="GenelIcerik"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tempor, magna vel feugiat lacinia, dui arcu rutrum purus, eu rhoncus eros quam at urna. In aliquet diam a nisl imperdiet sollicitudin. Sed lacinia laoreet ante at aliquet. Mauris sed felis eu ligula tempor vulputate et id purus. Fusce orci enim, blandit at sodales sit amet, aliquam et neque. Suspendisse non ante sit amet erat egestas viverra. Donec mattis aliquet diam nec dapibus. Proin neque ligula, pharetra ut rutrum a, imperdiet ac ligula. Etiam molestie, massa vitae venenatis aliquet, risus justo accumsan orci, nec facilisis neque metus vitae nulla. Phasellus vehicula purus ut justo fringilla ultrices. Aliquam cursus, tellus interdum lacinia volutpat, felis arcu suscipit ipsum, ac ultricies tortor dolor non urna. Integer a libero sed neque vulputate dictum et sed tortor. Aliquam velit lorem, porttitor vel cursus vel, luctus sed ante. Integer metus arcu, varius ac semper vel, fermentum hendrerit ipsum. Donec eget velit vel eros pretium consequat. Duis molestie ligula eu mauris sollicitudin aliquam ut in massa. Mauris elementum accumsan vestibulum. Nulla consectetur malesuada orci non molestie. Donec porttitor justo venenatis purus mattis auctor. Donec commodo porttitor egestas. Donec venenatis magna lorem, vitae porta est. Integer egestas adipiscing erat sed venenatis. Donec tincidunt dignissim pellentesque. Morbi ut pretium quam. Duis faucibus rutrum augue ac porta. Nulla nunc libero, tempus a mollis quis, egestas quis leo. Donec a erat non orci porta facilisis sit amet eu diam. Pellentesque mauris sapien, dapibus ac tristique vitae, condimentum sit amet enim. Vestibulum vitae magna diam, vel tincidunt erat. Duis varius suscipit congue. In vitae dolor sagittis lorem congue ullamcorper.</div> </div>
Adım 2 – Css Kodlarını Eklemek
body { background-color:#c0c0c0; font-family:Arial, Helvetica, sans-serif; color:#000000; font-size:12px;}
a, a:link, a:visited { color:#ffffff; font-weight:bold; text-decoration:none;}
a:hover { color:#ff0080; text-decoration:underline;}
*.ul { margin:0; padding:0;}
.MarginRight0 { margin-right:0;}
#Main {width:800px; height:auto; margin:0 auto;}
.MenuDiv { width:798px; height:50px; background-color:#ff0080; -moz-border-radius:5px; -webkit-border-radius:5px; color:#ffffff; padding:5px 0px; border:1px solid #800040;}
ul.AnaMenu {width:700px; height:40px; list-style-type:none;}
ul.AnaMenu li { display:inline; font-size:18px; }
ul.AnaMenu li a, ul.AnaMenu li a:visited { color: #ffffff; text-decoration:none; padding:15px;}
ul.AnaMenu li a:hover { text-decoration:underline; color: #000000;}
ul.AnaMenu li.Ok, ul.AnaMenu li.Ok2 { background:url(Ok.png) 80px 10px no-repeat;}
.AltMenuAlan, .AltMenuAlan2 { display:none; position:absolute; background-color:#400080;-moz-border-radius:5px; -webkit-border-radius:5px;margin:10px 0 0 20px;padding:10px 20px; width:620px; color:#ffffff;}
.AltMenuAlan2 { background-color:#0080ff;}
.AltMenuAlan div.Sol, .AltMenuAlan div.Sag, .AltMenuAlan2 div.Sol, .AltMenuAlan2 div.Sag {margin-right:10px; border-left:1px solid #ff0080; border-right:1px solid #ff0080; width:178px; font-size:12px; float:left; padding:10px;}
.AltMenuAlan2 div.Sol {border-left:1px solid #800080;; border-right:1px solid #800080;}
.AltMenuAlan div.Sag, .AltMenuAlan2 div.Sag { border:none!important; margin-right:0!important;}
.AltMenuAlan h3 { font-size:16px; margin:0; padding:0; width:150px;}
.AltMenuAlan p, .AltMenuAlan2 p {float:left; display:inline; width:200px; margin-right:10px;}
ul.AltMenuSol, ul.AltMenuSag, ul.AltMenu2Sol, ul.AltMenu2Sag { width:180px; list-style-type:none;}
ul.AltMenuSol li a, ul.AltMenuSag li a, ul.AltMenu2Sol li a, ul.AltMenu2Sag li a { display:block; color:#ffffff; text-decoration:none; font-size:12px;}
ul.AltMenuSol li a:hover, ul.AltMenuSag a:hover, ul.AltMenu2Sol li a:hover, ul.AltMenu2Sag a:hover { text-decoration:underline; color:#ffcee7;}
.GenelIcerik {width:780px; -moz-border-radius:5px; -webkit-border-radius:5px; padding:10px; background-color:#ffffff; margin-top:20px;}
Adım 3 – Html Dosyasına jQuery ve Css Dosyalarını Tanıtmak + jQuery Tetikleyici Kod Bloğunu Eklemek
<link rel="stylesheet" type="text/css" href="master.css" />
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".Ok").click(function(){
$(".AltMenuAlan").toggle("fast");
});
$(".Ok2").click(function(){
$(".AltMenuAlan2").toggle("fast");
});
});
</script>
Her zaman ki gibi mantık çok basit. Normal bir şekilde bir div içine menu kodlarımızı ekliyoruz. Alt menü eklemek istediğimiz elemanların altına bir div daha açıp o div için diğer menüleri ve yazıları ekliyoruz. Ana menüde hangi elemanların alt menüleri olduğunu belirlemek için onlara iki ayrı sınıf atıyoruz ve css dosyamızda bu elemanların yanına alt menü olduğunu anlatan bir imaj ekliyoruz.
Daha sonra ise jQuery tetikleyici kod bloğunda ise menü elemanlarına atadığımız iki ayrı sınıf için tıklanınca gösterilecek divleri toggle olarak açtırıyoruz. Burada dikkat etmeniz gereken bir şey söz konusudur; daha önce alt menülere sahip olan elemanların altına açtığımız divler css dosyasında display:none olarak tanımlanmalıdır.
Daha detaylı bilgi için lütfen -> http://www.thewebsqueeze.com/samples/mega-menu/demosite bağlantısını ziyaret ediniz.
Uygulamaya Ait Örneği Görmek İçin Tıklayınız
Uygulamaya Ait Örneği İndirmek İçin Tıklayınız


http://javascript.internet.com/text-effects/myrainbowspan.html
buradan yapılabilir. (Fatih Hayrioğlu Söyledi Sağolsun
)
Hareket eden derken link yerinde duruyor. Ama renkler cıfır cıfır oynuyor
Merhaba jquery ile ilk defa karşılaşıyorum.
ve çok hoş gözüküyorlardı. Bu hangi dilde yazılabilir acaba ? Bulursanız/paylaşırsanız sevinirim.
Soru: jquery ile soldan sağa doğru gökkuşağı renklerinde hareket eden metinler yazılabilir mi ? Bir sitede bazı linkler bu şekilde oynuyordu
Soru 2 : jquery’yi kullanıcıların görüntüleyebilmesi için framework gibi ekstra yazılımlara ihtiyaç var mıdır ?
Ayrıca siteniz ve verdiğiniz örnekler çok güzel başarılar dilerim…
Kardeşim çok teşekkür ederim ya. Tamda aradığım şey.
Gözdecim merhaba,
Teşekkür ederim yorumun için. Toogle efekti bir nevi aç kapa olduğu için kapatmak istiyorsak yeniden tıklamamız lazım. Örneği yaparken jQuery’ nin sitesinde incelememe rağmen gördüğüm tüm örneklerde böyleydi. Belki orada biraz kurnazlık yapabilirim, mesela menü4′ e tıklayınca menü2′ nin alanını yeniden display:none yaparsam kaybolur. Örneği hazırlarken ben de ona takıldım araştırdım ama bulamamıştım.
Merhaba Kadir,
Örnek çok güzel olmuş eline sağlık.
Ancak bir yerde şöyle bir sorun var. Menü2′ye tıkladıktan sonra Menü4′e tıkladığımda Menü2 kaybolmuyor ve altta kalıyor. Tekrar Menü2′ye tıkladığımda Menü4′ün altından kayboluşunu görebiliyorum. Belki bir düzenleme yapmak istersin.
Kolay gelsin.