MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Created page with "→Any JavaScript here will be loaded for all users on every page load.: window.tabberOptions = { manualStartup: true }; mw.loader.using('jquery.tabber', function () { $('.tabber').each(function () { new tabberObj({ div: this }); }); });" |
No edit summary |
||
Line 1: | Line 1: | ||
/* | /* Basic Tabber script / | ||
function tabberObj(args) { | |||
var tabs = args.div.getElementsByClassName("tabbertab"); | |||
var nav = document.createElement("ul"); | |||
nav.className = "tabbernav"; | |||
mw.loader.using(' | 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] }); | |||
} | |||
}); | }); | ||
}); | }); |
Revision as of 20:31, 3 July 2025
/* 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] }); } }); });