Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/darshanbaral/aafu.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarshan Baral <darshanbaral@gmail.com>2019-07-20 05:15:02 +0300
committerDarshan Baral <darshanbaral@gmail.com>2019-07-20 05:15:02 +0300
commit4d2f807f8b8e432a82d6ece57b750a71b9af6165 (patch)
treeeb0fa0abfd2ba6432333bdad762f7e2f58b860b3
parent3c36afb0b5fcbef369453f831bf3a1afa6096000 (diff)
Refactored accordion JS
-rw-r--r--static/js/accordion.js48
1 files changed, 25 insertions, 23 deletions
diff --git a/static/js/accordion.js b/static/js/accordion.js
index e97fee9..c27256f 100644
--- a/static/js/accordion.js
+++ b/static/js/accordion.js
@@ -1,26 +1,28 @@
-let acc = Array.from(document.getElementsByClassName("accordion"));
-let allPanels = Array.from(document.getElementsByClassName("panel"));
-
-[...acc].forEach(function(elem) {
- if (elem.classList.contains("active")) {
- let activePanel = elem.nextElementSibling;
- activePanel.style.maxHeight = activePanel.scrollHeight + "px";
- }
-});
-
-for (let i = 0; i < acc.length; i++) {
- acc[i].addEventListener("click", function() {
- [...acc].forEach(elem => elem.classList.remove("active"));
- [...allPanels].forEach(function(elem) {
+const allPanels = Array.from(document.querySelectorAll(".panel"));
+const allAccordion = Array.from(document.querySelectorAll(".accordion"));
+const expandAccordion = elem => {
+ if (!elem.parentElement.classList.contains("active")) {
+ allAccordion.forEach(acc => {
+ acc.classList.remove("active");
+ });
+ elem.parentElement.classList.add("active");
+ allPanels.forEach(function(elem) {
elem.style.maxHeight = null;
});
- if (!this.nextElementSibling.contains(document.querySelector("#skill-panel"))) {
- document.querySelectorAll("#skill-percent").forEach(elem => {
- elem.style.width = "0px";
+ let activePanel = elem.parentElement.nextElementSibling;
+ if (
+ activePanel.id != "skill-panel" &&
+ document.querySelector("#skill-panel")
+ ) {
+ let skillBars = Array.from(document.querySelectorAll("#skill-percent"));
+ skillBars.forEach(elem => {
+ elem.style.width = "0";
});
- }
- this.classList.add("active");
- let panel = this.nextElementSibling;
- panel.style.maxHeight = panel.scrollHeight + "px";
- });
-}
+ } //else {
+ //console.log("Skill Section Disabled");
+ //}
+ activePanel.style.maxHeight = activePanel.scrollHeight + "px";
+ } // else {
+ // console.log("Already Expanded");
+ //}
+};