link to highlight
[ikiwiki.git] / underlays / javascript / toggle.js
blobd190b737ae1fc8288ae846328caa62ab0688fbdb
1 // Uses CSS to hide toggleables, to avoid any flashing on page load. The
2 // CSS is only emitted after it tests that it's going to be able
3 // to show the toggleables.
4 if (document.getElementById && document.getElementsByTagName && document.createTextNode) {
5         document.write('<style type="text/css">div.toggleable { display: none; }</style>');
6         hook("onload", inittoggle);
9 function inittoggle() {
10         var as = getElementsByClass('toggle');
11         for (var i = 0; i < as.length; i++) {
12                 var id = as[i].href.match(/#(\w.+)/)[1];
13                 if (document.getElementById(id).className == "toggleable")
14                         document.getElementById(id).style.display="none";
15                 as[i].onclick = function() {
16                         toggle(this);
17                         return false;
18                 }
19         }
22 function toggle(s) {
23         var id = s.href.match(/#(\w.+)/)[1];
24         style = document.getElementById(id).style;
25         if (style.display == "none")
26                 style.display = "block";
27         else
28                 style.display = "none";