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

De Micropedia
Ir para navegação Ir para pesquisar
(edição teste 02 - natal efeitos.)
(edição teste 03 - natal efeitos.)
Linha 34: Linha 34:
 
});
 
});
  
mw.loader.using(['jquery'], function () {
+
$(function() {
  
 
     function criarFloco() {
 
     function criarFloco() {
         const floco = document.createElement("div");
+
         var floco = $('<div class="snowflake">❄</div>').css({
        floco.className = "snowflake";
+
            left: (Math.random() * $(window).width()) + "px",
        floco.textContent = "";
+
            top: "-30px",
 +
            fontSize: (10 + Math.random()*10) + "px",
 +
            opacity: 0.4 + Math.random()*0.4
 +
        });
  
         // posição inicial aleatória
+
         $("body").append(floco);
        floco.style.left = Math.random() * 100 + "vw";
 
  
         // tamanho aleatório
+
         var duracao = 6000 + Math.random()*5000;
         floco.style.fontSize = (10 + Math.random() * 12) + "px";
+
         var drift = (Math.random()*40 - 20); // -20px a +20px
  
        // duração da animação
+
         floco.animate({
         floco.style.animationDuration = (6 + Math.random() * 6) + "s";
+
            top: $(window).height() * 0.7 + "px",
 
+
            left: "+=" + drift
         document.body.appendChild(floco);
+
         }, duracao, "linear", function() {
 
+
            $(this).remove();
        // remover depois
+
        });
        setTimeout(() => floco.remove(), 12000);
 
 
     }
 
     }
  
    // cria flocos a cada 300 ms
 
 
     setInterval(criarFloco, 300);
 
     setInterval(criarFloco, 300);
});
 
 
// coloca drift aleatório em cada floco
 
document.addEventListener("animationstart", function(e) {
 
    if (e.target.classList.contains("snowflake")) {
 
        const desloc = (Math.random() * 40 - 20); // -20px a +20px
 
        e.target.style.setProperty("--d", desloc + "px");
 
    }
 
 
});
 
});

Edição das 23h41min de 8 de dezembro de 2025

/* 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;
    });
});

$(function() {

    function criarFloco() {
        var floco = $('<div class="snowflake">❄</div>').css({
            left: (Math.random() * $(window).width()) + "px",
            top: "-30px",
            fontSize: (10 + Math.random()*10) + "px",
            opacity: 0.4 + Math.random()*0.4
        });

        $("body").append(floco);

        var duracao = 6000 + Math.random()*5000;
        var drift = (Math.random()*40 - 20); // -20px a +20px

        floco.animate({
            top: $(window).height() * 0.7 + "px",
            left: "+=" + drift
        }, duracao, "linear", function() {
            $(this).remove();
        });
    }

    setInterval(criarFloco, 300);
});