treeview.js - jscancer - Javascript crap (relatively small)
(HTM) git clone git://git.codemadness.org/jscancer
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
treeview.js (735B)
---
1 (function() {
2 var tree_toggle = function(e, s) {
3 e.className = (" " + e.className + " ").replace(/ open /g, "") + s;
4 }, tree_map_li = function(r, f, b) {
5 for (var i = 0, items = r.getElementsByTagName("li"); i < items.length; ++i)
6 f(items[i], b);
7 }, trees = document.getElementsByClassName("tree");
8 for (var i = 0; i < trees.length; ++i) {
9 trees[i].className += " active";
10 trees[i].addEventListener("click", function(e) {
11 var t = e.target, s = (" " + t.className + " ").indexOf(" open ") == -1 ? " open" : "";
12 tree_toggle(t, s);
13 if (e.ctrlKey)
14 tree_map_li(t, tree_toggle, s);
15 return !!e.stopPropagation();
16 }, false);
17 tree_map_li(trees[i], function(e) {
18 if (e.children.length)
19 e.className += " n";
20 });
21 };
22 })();