(function( $ ){ $.fn.easyexpand = function(options, callback) { return this.each(function() { var settings = { 'startClosed' : true, 'outerContainer' : '.accordionCnt', 'buttonContainer' : '.accordionBtn', 'buttonClass' : 'accordionLink', 'duration' : 'slow', 'easing' : 'swing' }; if($.isFunction(options)){ callback = options; options = null; } if (options) { if($.isFunction(options)){ callback = options; options = null; } $.extend(settings, options); } var selectorClass = $(this).attr('class'); var container = '.' + selectorClass; if (settings.startClosed == false) { $(this).closest(settings.outerContainer) .find(settings.buttonContainer) .addClass('bc-active') .find('.' + settings.buttonClass) .addClass('link-active') .closest(settings.buttonContainer) .siblings(container) .addClass('content-active'); } if (settings.startClosed == true){ $(this).hide(); } $(this).closest(settings.outerContainer) .find('a.' + settings.buttonClass) .click(function () { $(this) .toggleClass('link-active') .closest(settings.buttonContainer) .toggleClass('bc-active') .siblings(container) .toggleClass('content-active') .stop(true, true) .slideToggle(settings.duration, settings.easing); $.isFunction(callback) && callback(); return false; }); }); }; })( jQuery );