File "frontend.js"
Full Path: /www/wwwroot/shphe-en.com/wp-content/plugins/bb-plugin/modules/accordion/js/frontend.js
File size: 2.79 KB
MIME-type: --
Charset: utf-8
(function($) {
FLBuilderAccordion = function( settings )
{
this.settings = settings;
this.nodeClass = '.fl-node-' + settings.id;
this._init();
};
FLBuilderAccordion.prototype = {
settings : {},
nodeClass : '',
_init: function()
{
$( this.nodeClass + ' .fl-accordion-button' ).on('click', $.proxy( this._buttonClick, this ) );
FLBuilderLayout.preloadAudio( this.nodeClass + ' .fl-accordion-content' );
this._openDefaultItem();
},
_buttonClick: function( e )
{
var button = $( e.target ).closest('.fl-accordion-button'),
accordion = button.closest('.fl-accordion'),
item = button.closest('.fl-accordion-item'),
allContent = accordion.find('.fl-accordion-content'),
allIcons = accordion.find('.fl-accordion-button i.fl-accordion-button-icon'),
content = button.siblings('.fl-accordion-content'),
icon = button.find('i.fl-accordion-button-icon');
if(accordion.hasClass('fl-accordion-collapse')) {
accordion.find( '.fl-accordion-item-active' ).removeClass( 'fl-accordion-item-active' );
allContent.slideUp('normal');
allIcons.removeClass('fa-minus');
allIcons.addClass('fa-plus');
}
if(content.is(':hidden')) {
item.addClass( 'fl-accordion-item-active' );
content.slideDown('normal', this._slideDownComplete);
icon.addClass('fa-minus');
icon.removeClass('fa-plus');
}
else {
item.removeClass( 'fl-accordion-item-active' );
content.slideUp('normal', this._slideUpComplete);
icon.addClass('fa-plus');
icon.removeClass('fa-minus');
}
},
_slideUpComplete: function()
{
var content = $( this ),
accordion = content.closest( '.fl-accordion' );
accordion.trigger( 'fl-builder.fl-accordion-toggle-complete' );
},
_slideDownComplete: function()
{
var content = $( this ),
accordion = content.closest( '.fl-accordion' ),
item = content.parent(),
win = $( window );
FLBuilderLayout.refreshGalleries( content );
// Grid layout support (uses Masonry)
FLBuilderLayout.refreshGridLayout( content );
// Post Carousel support (uses BxSlider)
FLBuilderLayout.reloadSlider( content );
// WP audio shortcode support
FLBuilderLayout.resizeAudio( content );
if ( item.offset().top < win.scrollTop() + 100 ) {
$( 'html, body' ).animate({
scrollTop: item.offset().top - 100
}, 500, 'swing');
}
accordion.trigger( 'fl-builder.fl-accordion-toggle-complete' );
},
_openDefaultItem: function()
{
if(typeof this.settings.defaultItem !== 'undefined') {
var item = $.isNumeric(this.settings.defaultItem) ? (this.settings.defaultItem - 1) : null;
if(item !== null) {
$( this.nodeClass + ' .fl-accordion-button' ).eq(item).trigger('click');
}
}
}
};
})(jQuery);