MediaWiki:Common.js: mudanças entre as edições

De Farmland
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
<script>
mw.loader.using('mediawiki.util', function () {
let currentIndex = 0;
 
let autoScrollInterval;
    const track = document.getElementById('everlightTrack');
    if (!track) return;


function scrollEverlight(direction) {
    const track = document.getElementById("everlightTrack");
     const items = track.children;
     const items = track.children;
     const itemWidth = items[0].offsetWidth + 18; // largura + gap
     let index = 0;
    let autoScroll;
 
    function scrollToIndex(i) {
        const item = items[i];
        if (!item) return;
 
        const trackRect = track.getBoundingClientRect();
        const itemRect = item.getBoundingClientRect();
 
        const offset =
            item.offsetLeft -
            (trackRect.width / 2) +
            (itemRect.width / 2);


     currentIndex += direction;
        track.scrollTo({ left: offset, behavior: 'smooth' });
     }


     if (currentIndex < 0) currentIndex = items.length - 1;
     function next() {
    if (currentIndex >= items.length) currentIndex = 0;
        index = (index + 1) % items.length;
        scrollToIndex(index);
    }


     track.scrollTo({
     function prev() {
         left: itemWidth * currentIndex,
        index = (index - 1 + items.length) % items.length;
         behavior: "smooth"
        scrollToIndex(index);
    }
 
    document.getElementById('everlightNext')?.addEventListener('click', () => {
         stopAuto();
        next();
         startAuto();
     });
     });


     restartAutoScroll();
     document.getElementById('everlightPrev')?.addEventListener('click', () => {
}
        stopAuto();
        prev();
        startAuto();
    });


/* Auto-rolagem: anda → para → centraliza */
    function startAuto() {
function startAutoScroll() {
        autoScroll = setInterval(next, 4000); // 4 segundos
    autoScrollInterval = setInterval(() => {
    }
        scrollEverlight(1);
    }, 4000); // 4 segundos (pode mudar para 3000 ou 5000)
}


function restartAutoScroll() {
    function stopAuto() {
    clearInterval(autoScrollInterval);
        clearInterval(autoScroll);
     startAutoScroll();
     }
}


document.addEventListener("DOMContentLoaded", startAutoScroll);
    scrollToIndex(index);
</script>
    startAuto();
});

Edição das 19h18min de 16 de janeiro de 2026

mw.loader.using('mediawiki.util', function () {

    const track = document.getElementById('everlightTrack');
    if (!track) return;

    const items = track.children;
    let index = 0;
    let autoScroll;

    function scrollToIndex(i) {
        const item = items[i];
        if (!item) return;

        const trackRect = track.getBoundingClientRect();
        const itemRect = item.getBoundingClientRect();

        const offset =
            item.offsetLeft -
            (trackRect.width / 2) +
            (itemRect.width / 2);

        track.scrollTo({ left: offset, behavior: 'smooth' });
    }

    function next() {
        index = (index + 1) % items.length;
        scrollToIndex(index);
    }

    function prev() {
        index = (index - 1 + items.length) % items.length;
        scrollToIndex(index);
    }

    document.getElementById('everlightNext')?.addEventListener('click', () => {
        stopAuto();
        next();
        startAuto();
    });

    document.getElementById('everlightPrev')?.addEventListener('click', () => {
        stopAuto();
        prev();
        startAuto();
    });

    function startAuto() {
        autoScroll = setInterval(next, 4000); // 4 segundos
    }

    function stopAuto() {
        clearInterval(autoScroll);
    }

    scrollToIndex(index);
    startAuto();
});