|
|
Line 1: |
Line 1: |
| /* Basic Tabber script /
| |
| function tabberObj(args) {
| |
| var tabs = args.div.getElementsByClassName("tabbertab");
| |
| var nav = document.createElement("ul");
| |
| nav.className = "tabbernav";
| |
|
| |
|
| for (var i = 0; i < tabs.length; i++) {
| |
| var t = tabs[i];
| |
| var li = document.createElement("li");
| |
| li.innerText = t.title;
| |
| li.tabIndex = i;
| |
| li.className = i === 0 ? "tabberactive" : "";
| |
|
| |
| li.addEventListener("click", function () {
| |
| var tabs = this.parentNode.parentNode.getElementsByClassName("tabbertab");
| |
| var lis = this.parentNode.children;
| |
| for (var j = 0; j < tabs.length; j++) {
| |
| tabs[j].style.display = "none";
| |
| lis[j].className = "";
| |
| }
| |
| tabs[this.tabIndex].style.display = "block";
| |
| lis[this.tabIndex].className = "tabberactive";
| |
| });
| |
|
| |
| nav.appendChild(li);
| |
| t.style.display = i === 0 ? "block" : "none";
| |
| }
| |
|
| |
| args.div.insertBefore(nav, args.div.firstChild);
| |
| }
| |
|
| |
| / Activate all .tabber elements on load */
| |
| mw.loader.using(['mediawiki.util'], function () {
| |
| $(function () {
| |
| var tabbers = document.querySelectorAll(".tabber");
| |
| for (var i = 0; i < tabbers.length; i++) {
| |
| new tabberObj({ div: tabbers[i] });
| |
| }
| |
| });
| |
| });
| |