Left: | ||
Right: |
OLD | NEW |
---|---|
1 (function(){ | 1 (function(){ |
2 document.addEventListener("DOMContentLoaded", function() | 2 document.addEventListener("DOMContentLoaded", function() |
3 { | 3 { |
4 | 4 |
5 // Change html class name from "no-js" to "js" | 5 // Change html class name from "no-js" to "js" |
6 document.documentElement.className = "js"; | 6 document.documentElement.className = "js"; |
7 | 7 |
8 // Toggle Navbar Collapse | 8 // Toggle Navbar Collapse |
9 function toggleNavbarCollapse() | 9 function toggleNavbarCollapse() |
10 { | 10 { |
11 var navbarCollapseEls = this.parentElement.getElementsByClassName("navbar- collapse"); | 11 var navbarCollapseEls = this.parentElement.getElementsByClassName("navbar- collapse"); |
12 for (var i = 0; i < navbarCollapseEls.length; i++) | 12 for (var i = 0; i < navbarCollapseEls.length; i++) |
13 { | 13 { |
14 navbarCollapseEls[i] | 14 navbarCollapseEls[i] |
15 .classList.toggle("open") | 15 .classList.toggle("open") |
16 } | 16 } |
17 } | 17 } |
18 | 18 |
19 var toggleNavbarCollapseEls = document.getElementsByClassName("toggle-navbar -collapse"); | 19 var toggleNavbarCollapseEls = document.getElementsByClassName("toggle-navbar -collapse"); |
20 for (var i = 0; i < toggleNavbarCollapseEls.length; i++) | 20 for (var i = 0; i < toggleNavbarCollapseEls.length; i++) |
21 { | 21 { |
22 toggleNavbarCollapseEls[i] | 22 toggleNavbarCollapseEls[i] |
23 .addEventListener("click", toggleNavbarCollapse, false); | 23 .addEventListener("click", toggleNavbarCollapse, false); |
24 } | 24 } |
25 | 25 |
26 // Accordion menu | |
27 | |
28 function setupAccordionMenu(accordionEl) | |
29 { | |
30 var accordionButtons = accordionEl.getElementsByClassName('accordion-toggl e-button'); | |
31 for ( var i = 0; i < accordionButtons.length; i++ ) { | |
32 accordionButtons[i].addEventListener("click", toggleAccordionSection, fa lse); | |
33 if ( i !== 0 ) { | |
34 accordionButtons[i].setAttribute("aria-expanded", "false"); | |
35 accordionButtons[i].setAttribute("aria-disabled", "false"); | |
36 document | |
37 .getElementById( accordionButtons[i].getAttribute("aria-controls") ) | |
38 .setAttribute("hidden", "true"); | |
ire
2017/09/18 10:08:11
See https://issues.adblockplus.org/ticket/5703 reg
juliandoucette
2017/09/18 12:53:31
Acknowledged.
| |
39 } | |
40 } | |
41 } | |
42 | |
43 function toggleAccordionSection() | |
44 { | |
45 // Hide currently expanded section | |
46 var accordion = this.parentElement.parentElement; | |
47 var expandedButton = accordion.querySelector("button[aria-expanded='true'] "); | |
48 expandedButton.setAttribute("aria-expanded", "false"); | |
49 expandedButton.setAttribute("aria-disabled", "false"); | |
50 document | |
51 .getElementById( expandedButton.getAttribute("aria-controls") ) | |
52 .setAttribute("hidden", "true"); | |
53 | |
54 // Expand new section | |
55 this.setAttribute("aria-expanded", "true"); | |
56 this.setAttribute("aria-disabled", "true"); | |
57 document | |
58 .getElementById( this.getAttribute("aria-controls") ) | |
59 .removeAttribute("hidden"); | |
60 } | |
61 | |
62 var accordionMenus = document.getElementsByClassName('accordion'); | |
63 for (var i = 0; i < accordionMenus.length; i++) | |
64 { | |
65 setupAccordionMenu( accordionMenus[i] ); | |
66 } | |
ire
2017/09/18 10:08:11
This will be refactored in https://issues.adblockp
juliandoucette
2017/09/18 12:53:31
Acknowledged.
| |
67 | |
26 }, false); | 68 }, false); |
27 }()); | 69 }()); |
OLD | NEW |