MediaWiki:Vector.js: Difference between revisions
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
/* All JavaScript here will be loaded for users of the Vector skin */ | /* All JavaScript here will be loaded for users of the Vector skin */ | ||
mw.loader.using('mediawiki.util').then(function() { | |||
var slideshows = document.querySelectorAll('.news-slideshow-container'); | // Execute after page content is ready | ||
mw.hook('wikipage.content').add(function($content) { | |||
var slideshows = document.querySelectorAll('.news-slideshow-container'); | |||
slideshows.forEach(function(container) { | |||
var slides = container.querySelectorAll('.news-slideshow-slide'); | |||
if (slides.length <= 1) return; | |||
var current = 0; | |||
slides[current].classList.add('active'); | |||
setInterval(function() { | |||
slides[current].classList.remove('active'); | |||
current = (current + 1) % slides.length; | |||
slides[current].classList.add('active'); | |||
}, 3000); // 3 seconds per slide | |||
}); | |||
}); | }); | ||
}); | }); | ||
Revision as of 23:04, 24 January 2026
/* All JavaScript here will be loaded for users of the Vector skin */
mw.loader.using('mediawiki.util').then(function() {
// Execute after page content is ready
mw.hook('wikipage.content').add(function($content) {
var slideshows = document.querySelectorAll('.news-slideshow-container');
slideshows.forEach(function(container) {
var slides = container.querySelectorAll('.news-slideshow-slide');
if (slides.length <= 1) return;
var current = 0;
slides[current].classList.add('active');
setInterval(function() {
slides[current].classList.remove('active');
current = (current + 1) % slides.length;
slides[current].classList.add('active');
}, 3000); // 3 seconds per slide
});
});
});
document.addEventListener('click', function (e) {
const header = e.target.closest('.pf-collapsible');
if (!header) return;
const targetId = header.dataset.target;
const section = document.getElementById(targetId);
if (!section) return;
const isOpen = section.style.display === 'block';
section.style.display = isOpen ? 'none' : 'block';
});