jQuery Accordion多级层次结构问题

时间:2014-09-08 19:17:01

标签: jquery

我正在尝试构建jQuery手风琴。在第一级它工作正常,但在子级别它不是。有人可以帮我解决这个问题吗?

here is the fiddle:

代码:

$(document).ready(function() {
$('.browse-by-categories ul div').click(function() {
    $('.browse-by-categories ul div').removeClass('on');
    $('.browse-by-categories ul.toggel').slideUp('normal');
    $('.plusMinus').text('+');
    if($(this).next().is(':hidden') == true) {
        $(this).addClass('on');
        $(this).next().slideDown('normal');
        $(this).children('.plusMinus').text('-');
     } 
 });
$('.browse-by-categories ul li div').mouseover(function() {
    $(this).addClass('over');
}).mouseout(function() {
    $(this).removeClass('over');
});
$('.browse-by-categories ul.toggel').hide();

});

1 个答案:

答案 0 :(得分:1)

我刚刚调整了你的小提琴:Fiddle

$(".menu, .submenu").click(function () {
  if ($(this).hasClass("on")) {

    if ($(this).hasClass("menu") && 
         $(this).next(".toggel").find("div.submenu").hasClass("on"))
    {
        $(this).next(".toggel").find("div.submenu").next(".toggel").slideUp();
        $(this).next(".toggel").find(".plusMinus").text('+');
        $(this).next(".toggel").find("div.submenu").toggleClass("on");
    }
    $(this).next(".toggel").slideUp();
    $(this).find('.plusMinus').text('+');

  }
  else {
    $(this).next(".toggel").slideDown();
    $(this).find('.plusMinus').text('-');

  }
  $(this).toggleClass("on");
});

并添加了课程" menu"和"子菜单"对于div,所以更容易识别幻灯片。