MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
(Replaced content with "→Any JavaScript here will be loaded for all users on every page load.: ") Tags: Replaced Manual revert |
No edit summary Tag: Reverted |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
/* Simple arrow slider for level 1-10 */ | |||
function setupLevelSlider(wrapperSelector, min, max) { | |||
const wrapper = document.querySelector(wrapperSelector); | |||
if (!wrapper) return; | |||
const valueDisplay = wrapper.querySelector('.levelValue'); | |||
const increase = wrapper.querySelector('.increase'); | |||
const decrease = wrapper.querySelector('.decrease'); | |||
if (!valueDisplay || !increase || !decrease) return; | |||
const updateDisplay = () => { | |||
valueDisplay.textContent = valueDisplay.dataset.value; | |||
}; | |||
increase.addEventListener('click', () => { | |||
let current = parseInt(valueDisplay.dataset.value, 10); | |||
if (current < max) { | |||
valueDisplay.dataset.value = current + 1; | |||
updateDisplay(); | |||
} | |||
}); | |||
decrease.addEventListener('click', () => { | |||
let current = parseInt(valueDisplay.dataset.value, 10); | |||
if (current > min) { | |||
valueDisplay.dataset.value = current - 1; | |||
updateDisplay(); | |||
} | |||
}); | |||
// Initialize | |||
updateDisplay(); | |||
} | |||
// On page load | |||
document.addEventListener('DOMContentLoaded', () => { | |||
setupLevelSlider('.level-slider-wrapper', 1, 10); | |||
}); | |||
Revision as of 22:07, 18 December 2025
/* Any JavaScript here will be loaded for all users on every page load. */
/* Simple arrow slider for level 1-10 */
function setupLevelSlider(wrapperSelector, min, max) {
const wrapper = document.querySelector(wrapperSelector);
if (!wrapper) return;
const valueDisplay = wrapper.querySelector('.levelValue');
const increase = wrapper.querySelector('.increase');
const decrease = wrapper.querySelector('.decrease');
if (!valueDisplay || !increase || !decrease) return;
const updateDisplay = () => {
valueDisplay.textContent = valueDisplay.dataset.value;
};
increase.addEventListener('click', () => {
let current = parseInt(valueDisplay.dataset.value, 10);
if (current < max) {
valueDisplay.dataset.value = current + 1;
updateDisplay();
}
});
decrease.addEventListener('click', () => {
let current = parseInt(valueDisplay.dataset.value, 10);
if (current > min) {
valueDisplay.dataset.value = current - 1;
updateDisplay();
}
});
// Initialize
updateDisplay();
}
// On page load
document.addEventListener('DOMContentLoaded', () => {
setupLevelSlider('.level-slider-wrapper', 1, 10);
});