将Plus Minus添加到Accordion菜单

时间:2014-04-14 10:02:18

标签: javascript jquery

我的手风琴菜单有一个计数器来计算子菜单。我想把它改成Plus Minus。 如果有一个子菜单而不是“加号”应该加上如果关闭,如果打开则比减号。

如果没有SubMenu,则不应添加任何内容。

计数器代码

$('#cssmenu > ul > li ul').each(function(index, e){
      var count = $(e).find('li').length;
      var content = '<span class="cnt">' + count + '</span>';
      $(e).closest('li').children('a').append(content);
}); 

jsFiddle Demo

2 个答案:

答案 0 :(得分:2)

嗯,你可以通过先获得两个图标来实现这一点1.加上2.减去并在你的CSS中加入这样的东西:

#cssmenu > ul > li.has-sub > a span {
    background: url(images/icon_plus.png) 90% center no-repeat;
}
#cssmenu > ul > li.has-sub.active > a span {
    background: url(images/icon_minus.png) 90% center no-repeat;
}

我的菜单如下:

<div id="cssmenu">
        <ul>
            <li><a href="#"><span>Products</span></a>
                <ul>
                    <li><a href="#">Widgets</a></li>
                    <li><a href="#">Menus</a></li>
                    <li><a href="#">Products</a></li>
                </ul>
            </li>
        </ul>
</div>

现在用jquery检查你的菜单是否有一个子菜单:

$('#cssmenu > ul > li:has(ul)').addClass("has-sub");

添加你创建的两个css类,并使用jquery下拉。我做了一个jfiddle,因为这太过分了。

在这里你Jfiddle - accordian plus minus

希望这有帮助!并非所有代码都是我的。干杯!

答案 1 :(得分:1)

我建议您使用Accordion Jquery-Ui作为

Jquery-ui