tree.js 782 B

12345678910111213141516171819202122232425
  1. window["makeTree"] = function (ulRoot) {
  2. let makeTree = (li) => {
  3. let button = li.children[0];
  4. let list = li.children[1];
  5. if (button && list && button.nodeName == 'SPAN' && list.nodeName == 'UL') {
  6. button.innerText = "-" + button.dataset["name"];
  7. list.style.display = 'block';
  8. button.addEventListener("click", (e) => {
  9. let visible = list.style.display === 'block';
  10. if (visible) {
  11. button.innerText = "+" + button.dataset["name"];
  12. list.style.display = "none";
  13. } else {
  14. button.innerText = "-" + button.dataset["name"];
  15. list.style.display = "block";
  16. }
  17. });
  18. for (var i = 0; i < list.children.length; ++i)
  19. makeTree(list.children[i]);
  20. }
  21. };
  22. for (var i = 0; i < ulRoot.children.length; ++i)
  23. makeTree(ulRoot.children[i]);
  24. }