手风琴菜单问题

时间:2012-04-09 07:16:58

标签: jquery

我创建了一个简单的手风琴菜单。我的问题是,当我点击“Folder1”时它会扩展,但是当我再次点击它时它会崩溃..我坚持使用它并且无法继续提供任何帮助.. < / p>

JsFiddle - http://jsfiddle.net/nY2t7/

$(document).ready(function() {


    $('#content >li').each(function(i){

        hideElements($(this));
    });

    $('#content').click(function(event) {

        $x = $(event.target);

        //check if the element is the root node if so then hide all other li's and reveal the current one
        if($x.parent().is('ul#content')) {

            if($x.is(':visible')) {     //check if its already expanded .. if so then collapse and return
                $x.find('ul >li').slideUp(300 , function() {
                    **//return;** does not work

                });
            }

            $('#content ul>li').each(function(i){                   
                    collapseElements($(this));
            });
        }


        if($x.is('li'))
            $x.find('ul:first > li').slideToggle(300);  



    });


    function collapseElements(el) {
        if(el.is(':visible')) {
            el.slideUp(300);
        }

    }

    function hideElements(elem) {
        elem.find('ul >li').hide(); 

        //$($e >li).hide(); 
    }
});

1 个答案:

答案 0 :(得分:0)

最简单的代码:

$('#content').click(function(event) {
  var $el = $(event.target);
  $el.find('ul:first > li').slideToggle(300);    
});

虽然,无国籍是件坏事。