MediaWiki:Common.js

De Micropedia
Revisão de 23h27min de 8 de dezembro de 2025 por Imperador Crow (discussão | contribs) (teste efeito natal)
Ir para navegação Ir para pesquisar

Nota: Após salvar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
  • Opera: Vá para Menu → Configurações (Opera → Preferencias no Mac) e depois para Privacidade e Segurança → Limpar dados de navegação → Imagens e arquivos em cache.
/* 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;
    });
});

/* Neve natalina Micropédia */
mw.loader.using(['jquery'], function () {

    const numFlocos = 40;   // quantidade de flocos
    const alturaMax = window.innerHeight * 0.70; // 70% da tela

    function criarFloco() {
        const floco = document.createElement('div');
        floco.className = 'snowflake';

        floco.style.left = Math.random() * 100 + 'vw';
        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);

        // remover floco ao final para não acumular
        setTimeout(() => floco.remove(), 12000);
    }

    // loop criando flocos
    setInterval(criarFloco, 400);

});

// Adicionar leve drift horizontal ao floco
document.addEventListener("animationstart", function (e) {
    if (e.target.classList.contains("snowflake")) {
        const drift = (Math.random() * 40 - 20); // -20px a 20px
        e.target.style.setProperty('--drift', drift + 'px');
    }
});