我有以下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 );
}
}
}
答案 0 :(得分:0)
每当点击任何问题时,如果你要隐藏所有活动的问题,你就不必担心哪一个 - 如果有的话 - 当前是活跃的。
(点击问题):
$('.vc_toggle_active').each(function(){
$(this)slideUp( {
duration: 300,
complete: function () {
$(this).removeClass( 'vc_toggle_active' );
}
});
});
在向上滑动任何当前有效的问题后,请继续显示所点击的问题。
NB。代码没有经过测试,因为你没有小提琴而且没有html。希望你能得到这个概念。