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 19: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] });
}
});
});