Mudanças entre as edições de "MediaWiki:Common.js"

De Micropedia
Ir para navegação Ir para pesquisar
(teste efeito natal)
(teste 05)
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 34: Linha 34:
 
});
 
});
  
/* Neve natalina Micropédia */
+
// Script teste - slideshow trocar de imagem
mw.loader.using(['jquery'], function () {
+
mw.hook('wikipage.content').add(function () {
  
     const numFlocos = 40;  // quantidade de flocos
+
     document.querySelectorAll('.gallerycarousel').forEach(function (carousel) {
    const alturaMax = window.innerHeight * 0.70; // 70% da tela
 
  
    function criarFloco() {
+
        if (carousel.dataset.autoplay) return;
        const floco = document.createElement('div');
+
         carousel.dataset.autoplay = 'true';
         floco.className = 'snowflake';
 
  
         floco.style.left = Math.random() * 100 + 'vw';
+
         const nextBtn = carousel.querySelector('.oo-ui-icon-next');
        floco.style.animationDuration = (6 + Math.random() * 6) + 's';
 
        floco.style.opacity = 0.2 + Math.random() * 0.6;
 
        floco.style.fontSize = (8 + Math.random() * 12) + 'px';
 
  
         document.body.appendChild(floco);
+
         if (!nextBtn) return;
  
         // remover floco ao final para não acumular
+
         setInterval(function () {
        setTimeout(() => floco.remove(), 12000);
+
            // força foco no botão
    }
+
            nextBtn.closest('a')?.focus();
  
    // loop criando flocos
+
            // dispara clique REAL
    setInterval(criarFloco, 400);
+
            nextBtn.closest('a').dispatchEvent(
 
+
                new MouseEvent('click', {
});
+
                    bubbles: true,
 
+
                    cancelable: true,
// Adicionar leve drift horizontal ao floco
+
                    view: window
document.addEventListener("animationstart", function (e) {
+
                })
    if (e.target.classList.contains("snowflake")) {
+
            );
         const drift = (Math.random() * 40 - 20); // -20px a 20px
+
         }, 4000); // tempo entre slides
        e.target.style.setProperty('--drift', drift + 'px');
+
    });
    }
 
 
});
 
});

Edição atual tal como às 05h09min de 8 de janeiro de 2026

/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */

$(function() {
    // Cria o botão scroll-to-top button
    var $botaoTopo = $('<div id="botaoTopo">⬆️ Topo</div>').css({
        display: "none",
        position: "fixed",
        bottom: "85px", // <-- distância do roda pé (~85px)
        right: "20px",
        padding: "10px 15px",
        background: "#9bbeab",
        color: "#000",
        "border-radius": "8px",
        cursor: "pointer",
        "box-shadow": "0 2px 6px rgba(0,0,0,0.3)",
        "font-weight": "bold",
        "z-index": "9999"
    }).appendTo("body");

    // Mostrar/esconder com base no scroll
    $(window).scroll(function() {
        if ($(this).scrollTop() > $(document).height() / 2) {
            $botaoTopo.fadeIn();
        } else {
            $botaoTopo.fadeOut();
        }
    });

    // Ação ao clicar
    $botaoTopo.click(function() {
        $("html, body").animate({scrollTop: 0}, 500);
        return false;
    });
});

// Script teste - slideshow trocar de imagem
mw.hook('wikipage.content').add(function () {

    document.querySelectorAll('.gallerycarousel').forEach(function (carousel) {

        if (carousel.dataset.autoplay) return;
        carousel.dataset.autoplay = 'true';

        const nextBtn = carousel.querySelector('.oo-ui-icon-next');

        if (!nextBtn) return;

        setInterval(function () {
            // força foco no botão
            nextBtn.closest('a')?.focus();

            // dispara clique REAL
            nextBtn.closest('a').dispatchEvent(
                new MouseEvent('click', {
                    bubbles: true,
                    cancelable: true,
                    view: window
                })
            );
        }, 4000); // tempo entre slides
    });
});