3

我的垂直导航非常适合 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 中正确关闭菜单项的逻辑。任何帮助将不胜感激!:)

4

1 回答 1

1

这应该让你开始。

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

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

然后将值设置为0

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

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

于 2013-05-04T02:43:25.990 回答