if / else语句

时间:2012-01-21 02:18:52

标签: javascript jquery

我正在尝试编写一个if / else语句,只要点击“about”或“contact”链接,就会隐藏.thumb <div>个。我希望所有.thumb <div>都向上滑动。

http://dl.dropbox.com/u/14080718/Final/UITabs15.html

我没有太多编写if / else语句的经验我似乎无法找出正确的语法,你能给予的任何帮助都会非常感激。

        $(function(){
    $('.thumb').hide();

    $('.subnav').click(function(){
        var $menuelement = $('.thumb').eq($(this).closest("li").index());//find the matching nth element in the menu
        if($menuelement.hasClass('active')){//if clicked element is already expanded

            $menuelement.removeClass('active').slideUp();//remove the active class and hide it

        } else {//otherwise,clicked element is not already expanded...

        if ($('.active').length>0) {//...but another element is expanded
            $('.active').removeClass('active').slideUp( function(){
                $menuelement.addClass('active').slideDown();//add the active class and show it
            });

            } else {//another element is not expanded

            $menuelement.addClass('active').slideDown();//add the active class and show it

            }
        }
    });

    });

1 个答案:

答案 0 :(得分:0)

我不能尝试这个,因为它有点孤儿,但尝试以下(或至少以下想法)。我很困惑,因为您的链接实际上并不包含您发布的代码。如果您仍然遇到问题,请尝试使用代码发布jsfiddle

您的($('。active')。length&gt; 0)语句不需要&gt; 0部分 - 所有非零长度都将返回true。

    $(function(){
        $('.thumb').hide();
        $('.subnav').click(function(){
            var menuelement = $('.thumb').eq($(this).closest("li").index());//find the matching nth element in the menu
            $(menuelement).toggleClass('active').slideToggle();
            $('.active').not(menuelement).removeClass('active').slideUp();
        });
});