diff options
author | 2019-04-20 23:49:12 +0200 | |
---|---|---|
committer | 2019-04-20 23:49:12 +0200 | |
commit | 0e373cd953dd7ee8433cd936a8df050ab097bb08 (patch) | |
tree | 54061f3d1f33247f0a57efc311167ba275c67c94 /pydis_site/static/js/wiki/dropdown.js | |
parent | Merge pull request #213 from python-discord/django_front_page (diff) | |
parent | Replace wiki dep with PyDis fork, add git to Docker (diff) |
Merge pull request #202 from gdude2002/django+200/wiki
[#200] Django Wiki
Diffstat (limited to 'pydis_site/static/js/wiki/dropdown.js')
-rw-r--r-- | pydis_site/static/js/wiki/dropdown.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pydis_site/static/js/wiki/dropdown.js b/pydis_site/static/js/wiki/dropdown.js new file mode 100644 index 00000000..a914a4ab --- /dev/null +++ b/pydis_site/static/js/wiki/dropdown.js @@ -0,0 +1,35 @@ +(function() { + window.dropdowns = {}; + + let elements = document.getElementsByClassName("dropdown"); + + for (let element of elements) { + let menu_element = element.getElementsByClassName("dropdown-menu")[0]; + + function show() { + $(element).addClass("is-active"); + } + + function hide() { + $(element).removeClass("is-active"); + } + + function handle_event(e) { + show(); + + $(document.body).on("click." + menu_element.id, function() { + hide(); + + $(document.body).off("click." + menu_element.id); + }); + + e.stopPropagation(); + } + + $(element).click(handle_event); + $(element).hover(handle_event); + $(element).mouseleave(hide); + + window.dropdowns[menu_element.id] = element; + } +})(); |