切换自动关闭

时间:2015-11-26 13:22:54

标签: javascript jquery

我有以下js代码: 此代码用于常见问题解答切换页面。

它基本上与每个toogle代码一样,但我想在点击其他问题时添加自动关闭功能。

隐藏上一个问题内容,​​然后显示下一个内容。 有什么想法吗?

if ( 'function' !== typeof(window[ 'vc_toggleBehaviour' ] ) ) {
window.vc_toggleBehaviour = function ( $el ) {
    function event( e ) {
        e && e.preventDefault && e.preventDefault();
        var title = jQuery( this );
        var element = title.closest( '.vc_toggle' );
        var content = element.find( '.vc_toggle_content' );
        if ( element.hasClass( 'vc_toggle_active' ) ) {
            content.slideUp( {
                duration: 300,
                complete: function () {
                    element.removeClass( 'vc_toggle_active' );
                }
            } );
        } else {
            content.slideDown( {
                duration: 300,
                complete: function () {
                    element.addClass( 'vc_toggle_active' );
                }
            } );
        }
    }

    if ( $el ) {
        if ( $el.hasClass( 'vc_toggle_title' ) ) {
            $el.unbind( 'click' ).click( event );
        } else {
            $el.find( ".vc_toggle_title" ).unbind( 'click' ).click( event );
        }
    } else {
        jQuery( ".vc_toggle_title" ).unbind( 'click' ).on( 'click', event );
    }
}
}

1 个答案:

答案 0 :(得分:0)

每当点击任何问题时,如果你要隐藏所有活动的问题,你就不必担心哪一个 - 如果有的话 - 当前是活跃的。

(点击问题):

$('.vc_toggle_active').each(function(){
    $(this)slideUp( {
        duration: 300,
        complete: function () {
            $(this).removeClass( 'vc_toggle_active' );
        }
    });
});

在向上滑动任何当前有效的问题后,请继续显示所点击的问题。

NB。代码没有经过测试,因为你没有小提琴而且没有html。希望你能得到这个概念。