Skip to content

Instantly share code, notes, and snippets.

@stefanzweifel
Created July 2, 2015 19:20
Show Gist options
  • Save stefanzweifel/b76d236a64f6d2036223 to your computer and use it in GitHub Desktop.
Save stefanzweifel/b76d236a64f6d2036223 to your computer and use it in GitHub Desktop.
BASSCSS Dropdown script
var Disclosure = function(el, options) {
el.isActive = false;
el.details = el.querySelectorAll('[data-details]');
el.hide = function() {
for (var i = 0; i < el.details.length; i++) {
el.details[i].style.display = 'none';
}
};
el.show = function() {
for (var i = 0; i < el.details.length; i++) {
el.details[i].style.display = 'block';
}
};
el.toggle = function(e) {
e.stopPropagation();
el.isActive = !el.isActive;
if (el.isActive) {
el.show();
} else {
el.hide();
}
}
el.addEventListener('click', function(e) {
el.toggle(e);
});
el.hide();
return el;
};
var disclosures = document.querySelectorAll('[data-disclosure]');
for (var i = 0; i < disclosures.length; i++) {
disclosures[i] = new Disclosure(disclosures[i]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment