mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-23 06:51:12 +02:00
30 lines
706 B
JavaScript
30 lines
706 B
JavaScript
// Dropdown.js
|
|
|
|
(function($all) {
|
|
var openDropdown;
|
|
|
|
// Closes all dropdowns except the passed one.
|
|
function closeOpenDropdown(except) {
|
|
if (openDropdown && (!except || except !== openDropdown)) {
|
|
openDropdown.classList.remove('open');
|
|
openDropdown = null;
|
|
}
|
|
}
|
|
function init() {
|
|
var dropdowns = [].slice.call($all('[dropdown]'));
|
|
dropdowns.forEach(function (dropdown) {
|
|
dropdown.addEventListener('click', function (e) {
|
|
closeOpenDropdown(e.currentTarget);
|
|
e.currentTarget.classList.toggle('open');
|
|
openDropdown = e.currentTarget;
|
|
e.stopPropagation();
|
|
});
|
|
});
|
|
|
|
document.addEventListener('click', function () {
|
|
closeOpenDropdown();
|
|
});
|
|
}
|
|
|
|
init();
|
|
})($all); |