|
|
@ -153,55 +153,59 @@ $.fn.accordion = function(parameters) { |
|
|
|
$activeContent = $activeTitle.next($content), |
|
|
|
isAnimating = $activeContent.hasClass(className.animating), |
|
|
|
isActive = $activeContent.hasClass(className.active), |
|
|
|
isUnopen = (!isActive && !isAnimating) |
|
|
|
isOpen = (isActive || isAnimating) |
|
|
|
; |
|
|
|
if(isUnopen) { |
|
|
|
module.debug('Opening accordion content', $activeTitle); |
|
|
|
settings.onOpening.call($activeContent); |
|
|
|
if(settings.exclusive) { |
|
|
|
module.closeOthers.call($activeTitle); |
|
|
|
if(isOpen) { |
|
|
|
module.debug('Accordion already open, skipping', $activeContent); |
|
|
|
return; |
|
|
|
} |
|
|
|
module.debug('Opening accordion content', $activeTitle); |
|
|
|
settings.onOpening.call($activeContent); |
|
|
|
if(settings.exclusive) { |
|
|
|
module.closeOthers.call($activeTitle); |
|
|
|
} |
|
|
|
$activeTitle |
|
|
|
.addClass(className.active) |
|
|
|
; |
|
|
|
$activeContent |
|
|
|
.stop(true, true) |
|
|
|
.addClass(className.animating) |
|
|
|
; |
|
|
|
if(settings.animateChildren) { |
|
|
|
if($.fn.transition !== undefined && $module.transition('is supported')) { |
|
|
|
$activeContent |
|
|
|
.children() |
|
|
|
.transition({ |
|
|
|
animation : 'fade in', |
|
|
|
queue : false, |
|
|
|
useFailSafe : true, |
|
|
|
debug : settings.debug, |
|
|
|
verbose : settings.verbose, |
|
|
|
duration : settings.duration |
|
|
|
}) |
|
|
|
; |
|
|
|
} |
|
|
|
$activeTitle |
|
|
|
.addClass(className.active) |
|
|
|
; |
|
|
|
$activeContent.addClass(className.animating); |
|
|
|
if(settings.animateChildren) { |
|
|
|
if($.fn.transition !== undefined && $module.transition('is supported')) { |
|
|
|
$activeContent |
|
|
|
.children() |
|
|
|
.transition({ |
|
|
|
animation : 'fade in', |
|
|
|
queue : false, |
|
|
|
useFailSafe : true, |
|
|
|
debug : settings.debug, |
|
|
|
verbose : settings.verbose, |
|
|
|
duration : settings.duration |
|
|
|
}) |
|
|
|
; |
|
|
|
} |
|
|
|
else { |
|
|
|
$activeContent |
|
|
|
.children() |
|
|
|
.stop(true) |
|
|
|
.animate({ |
|
|
|
opacity: 1 |
|
|
|
}, settings.duration, module.resetOpacity) |
|
|
|
; |
|
|
|
} |
|
|
|
else { |
|
|
|
$activeContent |
|
|
|
.children() |
|
|
|
.stop(true, true) |
|
|
|
.animate({ |
|
|
|
opacity: 1 |
|
|
|
}, settings.duration, module.resetOpacity) |
|
|
|
; |
|
|
|
} |
|
|
|
$activeContent |
|
|
|
.stop(true) |
|
|
|
.slideDown(settings.duration, settings.easing, function() { |
|
|
|
$activeContent |
|
|
|
.removeClass(className.animating) |
|
|
|
.addClass(className.active) |
|
|
|
; |
|
|
|
module.reset.display.call(this); |
|
|
|
settings.onOpen.call(this); |
|
|
|
settings.onChange.call(this); |
|
|
|
}) |
|
|
|
; |
|
|
|
} |
|
|
|
$activeContent |
|
|
|
.slideDown(settings.duration, settings.easing, function() { |
|
|
|
$activeContent |
|
|
|
.removeClass(className.animating) |
|
|
|
.addClass(className.active) |
|
|
|
; |
|
|
|
module.reset.display.call(this); |
|
|
|
settings.onOpen.call(this); |
|
|
|
settings.onChange.call(this); |
|
|
|
}) |
|
|
|
; |
|
|
|
}, |
|
|
|
|
|
|
|
close: function(query) { |
|
|
@ -224,6 +228,7 @@ $.fn.accordion = function(parameters) { |
|
|
|
.removeClass(className.active) |
|
|
|
; |
|
|
|
$activeContent |
|
|
|
.stop(true, true) |
|
|
|
.addClass(className.animating) |
|
|
|
; |
|
|
|
if(settings.animateChildren) { |
|
|
@ -243,7 +248,7 @@ $.fn.accordion = function(parameters) { |
|
|
|
else { |
|
|
|
$activeContent |
|
|
|
.children() |
|
|
|
.stop(true) |
|
|
|
.stop(true, true) |
|
|
|
.animate({ |
|
|
|
opacity: 0 |
|
|
|
}, settings.duration, module.resetOpacity) |
|
|
@ -251,7 +256,6 @@ $.fn.accordion = function(parameters) { |
|
|
|
} |
|
|
|
} |
|
|
|
$activeContent |
|
|
|
.stop(true) |
|
|
|
.slideUp(settings.duration, settings.easing, function() { |
|
|
|
$activeContent |
|
|
|
.removeClass(className.animating) |
|
|
@ -293,6 +297,10 @@ $.fn.accordion = function(parameters) { |
|
|
|
$openTitles |
|
|
|
.removeClass(className.active) |
|
|
|
; |
|
|
|
$openContents |
|
|
|
.removeClass(className.animating) |
|
|
|
.stop(true, true) |
|
|
|
; |
|
|
|
if(settings.animateChildren) { |
|
|
|
if($.fn.transition !== undefined && $module.transition('is supported')) { |
|
|
|
$openContents |
|
|
@ -309,7 +317,7 @@ $.fn.accordion = function(parameters) { |
|
|
|
else { |
|
|
|
$openContents |
|
|
|
.children() |
|
|
|
.stop() |
|
|
|
.stop(true, true) |
|
|
|
.animate({ |
|
|
|
opacity: 0 |
|
|
|
}, settings.duration, module.resetOpacity) |
|
|
@ -317,7 +325,6 @@ $.fn.accordion = function(parameters) { |
|
|
|
} |
|
|
|
} |
|
|
|
$openContents |
|
|
|
.stop() |
|
|
|
.slideUp(settings.duration , settings.easing, function() { |
|
|
|
$(this).removeClass(className.active); |
|
|
|
module.reset.display.call(this); |
|
|
|