-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathstacky.js
More file actions
37 lines (32 loc) · 1.12 KB
/
stacky.js
File metadata and controls
37 lines (32 loc) · 1.12 KB
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
$.fn.stacky = function (options) {
var container = this;
var defaults = {
"showToggleButton": true
};
$.extend(defaults, options);
if (defaults.hasOwnProperty("width")) {
container.width(defaults.width);
}
//add stacky class to parent
container.addClass("stacky stacky-collapsed");
//add stacky-child class to direct children
container.children().addClass("stacky-child");
if (defaults.showToggleButton) {
//find the first child and append stacky toggle button
container.find(".stacky-child").eq(0).append('<div class="stacky-toggle-btn"></div>');
}
var toggleStacky = function (e) {
container.toggleClass("stacky-collapsed");
}
var openStacky = function (e) {
container.removeClass("stacky-collapsed");
}
var closeStacky = function (e) {
container.addClass("stacky-collapsed");
}
//event listeners
container.on("click", ".stacky-toggle-btn", toggleStacky);
container.on("openStacky", openStacky);
container.on("collapseStacky", closeStacky);
container.on("toggleStacky", toggleStacky);
};