我的垂直导航功能非常适合jQuery。它与URL匹配,因此它在动态站点上保持打开状态,不需要cookie。这是我目前的小提琴:
我现在使用的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中正确关闭菜单项的逻辑。任何帮助将不胜感激! :)
答案 0 :(得分:1)
这应该让你开始。
将value="1"
添加到页面中的每个button
。
然后获取值,如果它等于1
,基本上打开菜单。 (你现在拥有的)
然后将值设置为0
。
如果值为0
,请撤消您的操作。然后将值设置为1
。