From 5f2439f42a444e0dcf3e1b00c8bd46a9b4b25ca7 Mon Sep 17 00:00:00 2001 From: Alexander Nozik Date: Mon, 27 Mar 2023 13:39:19 +0300 Subject: [PATCH] Minor UI fixes --- data/magprog/assets/css/main.css | 10 ++++++++++ data/magprog/assets/js/main.js | 16 ++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/data/magprog/assets/css/main.css b/data/magprog/assets/css/main.css index ae4a0e8..76d0701 100644 --- a/data/magprog/assets/css/main.css +++ b/data/magprog/assets/css/main.css @@ -2447,3 +2447,13 @@ table { background-attachment: scroll; } } /*# sourceMappingURL=main.css.map */ + +/*from https://www.w3schools.com/howto/howto_js_collapsible.asp*/ + +/* Style the collapsible content. Note: hidden by default */ +.collapsible-content { + padding: 0 18px; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; +} \ No newline at end of file diff --git a/data/magprog/assets/js/main.js b/data/magprog/assets/js/main.js index 9f48e4d..7e4aecb 100644 --- a/data/magprog/assets/js/main.js +++ b/data/magprog/assets/js/main.js @@ -190,17 +190,17 @@ })(jQuery); //From https://www.w3schools.com/howto/howto_js_collapsible.asp -let collapsibles = document.getElementsByClassName("collapsible"); +const coll = document.getElementsByClassName("collapsible"); +let i; -Array.from(collapsibles).forEach(item => { - item.addEventListener("click", function () { - this.classList.toggle("collapsible-expanded"); - let target = item.attributes.getNamedItem("data-target").value; - let content = document.getElementById(target); - if (content.style.maxHeight) { +for (i = 0; i < coll.length; i++) { + coll[i].addEventListener("click", function() { + this.classList.toggle("active"); + const content = this.nextElementSibling; + if (content.style.maxHeight){ content.style.maxHeight = null; } else { content.style.maxHeight = content.scrollHeight + "px"; } }); -}) \ No newline at end of file +} \ No newline at end of file