使用jquery进行垂直菜单导航(关闭切换)

时间:2013-05-04 01:22:34

标签: jquery menu navigation

我的垂直导航功能非常适合jQuery。它与URL匹配,因此它在动态站点上保持打开状态,不需要cookie。这是我目前的小提琴:

http://jsfiddle.net/J8HnC/

我现在使用的jQuery就是:

jQuery('#categories .sub').not('.open').children('ul').hide();

jQuery(document).on('click', '#category-menu #categories button', function(){

    $(this).parent().addClass('expandable');

    if(jQuery(this).parent().hasClass('expandable')) {
        jQuery(this).html('+');
        jQuery(this).siblings('ul').stop(true,true).css('display','block').slideDown(200, 'linear');
    } else {
        jQuery(this).siblings('ul').stop(true,true).css('display','none').slideUp(200, 'linear');
    };

});

var url = window.location.toString() 

$('#categories ul li a').each(function(){

    var categoryHref= $(this).attr('href');

    if( url.match(categoryHref)) {
        $(this).addClass('active-anchor')
        $(this).parents('ul.category-child').show();
        $(this).parents('ul.category-child li').addClass('expandable');
    }

});

但我无法弄清楚在我的jQuery中正确关闭菜单项的逻辑。任何帮助将不胜感激! :)

1 个答案:

答案 0 :(得分:1)

这应该让你开始。

value="1"添加到页面中的每个button

然后获取值,如果它等于1,基本上打开菜单。 (你现在拥有的)

然后将值设置为0

如果值为0,请撤消您的操作。然后将值设置为1

http://jsfiddle.net/J8HnC/2/