1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
$$plugins.define('accordion', ['domHelper'], function (element, options, $) {
var animating = false,
$header = $(element).find('.acc:not(.acc--disabled) .acc__header'),
$content,
$prevActiveAcc,
$this,
$accItem,
singleOpen = options.singleOpen ? options.singleOpen : false;
$header.on('click', function (e) {
$this = $(this);
$accItem = $this.parent('.acc');
$content = $this.next('.acc__content');
if (animating === true) {
return;
}
animating = true;
if ($accItem.is('.open')) {
$content.slideUp(300, function () {
$accItem.removeClass('open');
$content.removeAttr('style');
animating = false;
});
} else {
$content.slideDown(300, function () {
$accItem.addClass('open');
$content.removeAttr('style');
animating = false;
});
if (singleOpen) {
$prevActiveAcc = $accItem.siblings('.acc.open');
if ($prevActiveAcc.length != 0) {
$prevActiveAcc.find('.acc__content').slideUp(300, function () {
$prevActiveAcc.removeClass('open');
$prevActiveAcc.find('.acc__content').removeAttr('style');
animating = false;
});
}
}
}
});
});
|