JavaScript show/hide tab

后端 未结 3 1385
悲&欢浪女
悲&欢浪女 2021-01-20 07:08

What i want is hide all content first, then click one tab, the corresponding content shows (the tab becomes \'active\'), where click it again it will disappear. some of the

3条回答
  •  生来不讨喜
    2021-01-20 07:56

    This should work:

    $(function() {
        $('#nav div').hide();
        $('#nav div:first').show();
        $('#nav ul li:first').addClass('active');
        $('#nav ul li a').click(function(){
            var currentTab = $(this).attr('href');
            var vis = $(currentTab).is(':visible');
            $('#nav div').hide();
            $('#nav ul li').removeClass('active');
            $(this).parent().addClass('active');
            if(vis) {
                $(currentTab).hide();
            } else {
                $(currentTab).show();
            }
        });
    });
    

    you have to check if the current tab is visible before you hide it.

    working: http://jsfiddle.net/tqhHA/

提交回复
热议问题