jQuery menü apró problémával
Sziasztok!
Van egy 3 szintes jQuery menüm, ami úgy működik hogy:
• Ha nyitva van egy almenü és egy másik nyitható almenüre kattintok, akkor a nyitott összezáródik. Ez a második szinten belül is így működik.
• Az éppen aktív menüpontnak az egy class-t, ezzel kiemeli az aktív menüpontot, illetve a hierarchiában felette álló fő menüpontokat ha vannak.
Ezek eddig működnek.
Ami nem működik:
• Az új oldal betöltésénél összecsukódik a menü, és eddig nem jöttem rá, hogy hogyan lehetne kinyitni a kiemelt classokat. Próbálkoztam már többféle megoldással is, mindhiába.
Az alap koncepciót nem szívesen módosítanám, nem ismerem sajnos a jQuery-t örülök, hogy idáig eljutottam. :) Így tehát csak ezt az egy dolgot kéne megoldani, hogy kinyíljon a menü új oldalletöltésnél. Ellenben ha valaki szerint egy másik megoldás jó, és azt le is írja nekem kód formájában, azt természetesen megköszönöm!
HTML (ide most én írtam be a highlight classokat a szemléltetés végett):jQuery:Annyit még érdemes tudni, hogy a projektek elemeket egy php kód szúrja be egy adatbázis segítségével.
Előre is köszönöm a segítséget. :)
■ Van egy 3 szintes jQuery menüm, ami úgy működik hogy:
• Ha nyitva van egy almenü és egy másik nyitható almenüre kattintok, akkor a nyitott összezáródik. Ez a második szinten belül is így működik.
• Az éppen aktív menüpontnak az egy class-t, ezzel kiemeli az aktív menüpontot, illetve a hierarchiában felette álló fő menüpontokat ha vannak.
Ezek eddig működnek.
Ami nem működik:
• Az új oldal betöltésénél összecsukódik a menü, és eddig nem jöttem rá, hogy hogyan lehetne kinyitni a kiemelt classokat. Próbálkoztam már többféle megoldással is, mindhiába.
Az alap koncepciót nem szívesen módosítanám, nem ismerem sajnos a jQuery-t örülök, hogy idáig eljutottam. :) Így tehát csak ezt az egy dolgot kéne megoldani, hogy kinyíljon a menü új oldalletöltésnél. Ellenben ha valaki szerint egy másik megoldás jó, és azt le is írja nekem kód formájában, azt természetesen megköszönöm!
HTML (ide most én írtam be a highlight classokat a szemléltetés végett):
<div id="nav">
<ul class="nav">
<li><a href="#">főoldal</a></li>
<li><a href="rolunk">rólunk</a></li>
<li><a href="#">szolgáltatások</a>
<ul>
<li><a href="lakberendezesi-tanacsadas">lakberendezési tanácsadás</a></li>
<li><a href="enteriortervezes">enteriőrtervezés</a></li>
<li><a href="enterior-styling">enteriőr-styling</a></li>
<li><a href="arculattervezes">arculattervezés</a></li>
</ul>
</li>
<li class="highlight"><a href="#">referenciák</a>
<ul>
<li class="highlight"><a href="#">enteriőrtervezés</a>
<ul>
<li><a href="#">projekt1</a></li>
<li class="highlight"><a href="#">projekt2</a></li>
<li><a href="#">projekt3</a></li>
</ul>
</li>
<li><a href="#">enteriőr styling</a>
<ul>
<li><a href="#">projekt1</a></li>
<li><a href="#">projekt2</a></li>
<li><a href="#">projekt3</a></li>
</ul>
</li>
<li><a href="arculattervezes-referencia">arculattervezés</a></li>
</ul>
</li>
<li><a href="kapcsolat">kapcsolat</a></li>
<li><a href="/blog">blog</a></li>
</ul>
</div>
$(document).ready(function(){
var str = location.href.toLowerCase();
$("ul.nav li a").each(function() {
if (str.indexOf(this.href.toLowerCase()) > -1) {
$("li.highlight").removeClass("highlight");
$(this).parent().addClass("highlight");
}
});
$("li.highlight").parents().each(function(){
if ($(this).is("li")){
$(this).addClass("highlight");
}
});
});
(function(){
$('ul.nav li ul').hide();
$('ul.nav a').on('click', function(e){
if ($(this).siblings('ul').size() > 0){
var links_parent = $(this).parent(),
other_menu = links_parent.siblings('li').children('ul'),
submenu = $(this).siblings('ul');
other_menu.slideUp('200');
submenu.slideToggle('200');
e.preventDefault();
}
});
})();
Előre is köszönöm a segítséget. :)
jQuery menu
itt egy példa: http://jqueryui.com/demos/accordion/
Köszi, megnézem, de nekem
Ezt tényleg ennyire bonyolult megoldani? :)
jQ menu
JQuery UI accordion.
ennyit tudtam segíteni :)