如何切换而不是显示

时间:2014-08-29 06:38:54

标签: jquery toggle

根据下面的代码,我试图切换一个元素。类似的说明,当我点击该元素时,它应该出现,如果我点击该元素,它应该会消失。目前,当我单击该元素时,它会出现,但再次单击时它不会消失。

$(document).ready(function(){

        $('ul.nav-tabs li a').removeClass('active');
        $('ul.nav-tabs li a:first').addClass('active');
        $('.tab-content #146f632b316a42b48488b8c1da12678a, .tab-content #146f632b316a42b48488b8c1da12678a .row').show();
        $('ul.main-navigation li a').click(function(){
            var tab_id = $(this).attr('data-href');



            $('.mega-navigation .row').hide();
            $('.mega-navigation, .btnHide').show();
            //$('.tab-content').removeClass('current');
            $('ul.main-navigation li a').removeClass('active');
            $(this).addClass('active');

            //$(tab_id).addClass('current');
            $(tab_id).show();
            if(tab_id == '#tab2c8d0d2ec797404b9b1b646e797c98de'){
                //alert('if');
                $('ul.nav-tabs li a').removeClass('active');
                $('ul.nav-tabs li a:first').addClass('active');
                $('.tab-content #146f632b316a42b48488b8c1da12678a, .tab-content #146f632b316a42b48488b8c1da12678a .row').show();
            }
        })

        $('.btnHide').click(function(){
            $('ul.main-navigation li a').removeClass('active');
            $('.mega-navigation .row, .btnHide').hide();
        })


        $('ul.nav-tabs li a').click(function(){
            var in_tab_id = $(this).attr('data-href');

            $('ul.nav-tabs li a').removeClass('active');
            $(this).addClass('active');

            $('.tab-content .tab-pane .row').hide();
            $('.tab-content .tab-pane').removeClass('active');

            $(in_tab_id).addClass('active');
            $(in_tab_id+','+in_tab_id+' .row').show();

        })
    })

2 个答案:

答案 0 :(得分:1)

           try this
          $('.mega-navigation .row').toggle(showOrHide );

             if ( showOrHide === true ) {
            $( '.mega-navigation .row' ).show();
            } else if ( showOrHide === false ) {
            $( '.mega-navigation .row' ).hide();
            }

有帮助吗?

答案 1 :(得分:0)

你也应该发布你的html ..但是无论如何都要尝试这个,而不是使用.hide()或.show()...两者都使用这个.toggle()。你也可以放一个计时器。例如.toggle(400)