MediaWiki:Vector.js: Difference between revisions

From Forklift Certified Video Games
Jump to navigation Jump to search
Line 13: Line 13:
});
});


document.addEventListener("DOMContentLoaded", function() {
mw.hook('wikipage.content').add(function($content) {
  const slides = document.querySelectorAll(".news-slider .news-slide");
    const sliders = $content.find(".news-slider");
  let current = 0;
 
 
    sliders.each(function() {
  function showSlide(index) {
        const slides = $(this).find(".news-slide");
    slides.forEach((s, i) => {
        let current = 0;
      s.style.opacity = (i === index) ? "1" : "0";
 
        // Hide all slides except first
        slides.css('opacity', 0);
        slides.eq(0).css('opacity', 1);
 
        setInterval(() => {
            slides.eq(current).css('opacity', 0);
            current = (current + 1) % slides.length;
            slides.eq(current).css('opacity', 1);
        }, 4000); // 4 seconds per slide
     });
     });
  }
  setInterval(() => {
    current = (current + 1) % slides.length;
    showSlide(current);
  }, 4000); // 4 seconds per slide
});
});

Revision as of 22:17, 24 January 2026

/* All JavaScript here will be loaded for users of the Vector skin */

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';
});

mw.hook('wikipage.content').add(function($content) {
    const sliders = $content.find(".news-slider");

    sliders.each(function() {
        const slides = $(this).find(".news-slide");
        let current = 0;

        // Hide all slides except first
        slides.css('opacity', 0);
        slides.eq(0).css('opacity', 1);

        setInterval(() => {
            slides.eq(current).css('opacity', 0);
            current = (current + 1) % slides.length;
            slides.eq(current).css('opacity', 1);
        }, 4000); // 4 seconds per slide
    });
});