Efecto Nieve en Sitios WordPress Snippet HTML requestAnimationFrame.
Efecto Nieve en Sitios WordPress Snippet HTML requestAnimationFrame, la misma técnica que usan webs profesionales y efectos de videojuegos ligeros.
✔ Súper fluida (60fps)
✔ Cae desde arriba SIEMPRE
✔ No aparece en la mitad
✔ No se acumula abajo
✔ Lleva viento suave real
✔ Copos con movimiento natural
✔ Dos capas (profundidad)
✔ Muy liviana
❄️ SNOW ENGINE PRO — requestAnimationFrame
Pega este bloque tal cual en un snippet HTML o PHP (con output):
<canvas id="snowCanvas"></canvas>
<style>
#snowCanvas {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
pointer-events: none;
z-index: 999999;
}
</style>
<script>
(function() {
const canvas = document.getElementById("snowCanvas");
const ctx = canvas.getContext("2d");
let w = canvas.width = window.innerWidth;
let h = canvas.height = window.innerHeight;
window.addEventListener("resize", () => {
w = canvas.width = window.innerWidth;
h = canvas.height = window.innerHeight;
});
// CONFIGURACIÓN PRO
const flakes = [];
const totalFlakes = 180; // Cantidad de nieve
const windSpeed = 0.4; // Viento horizontal
// Crear copos
for (let i = 0; i < totalFlakes; i++) {
flakes.push({
x: Math.random() * w,
y: Math.random() * -h, // SIEMPRE nacen fuera de pantalla
r: 1.5 + Math.random() * 3, // Tamaño
d: Math.random() * 1 + 0.5, // Densidad (velocidad)
a: Math.random() * Math.PI * 2, // Ángulo del movimiento
});
}
// Animación PRO
function animate() {
ctx.clearRect(0, 0, w, h);
ctx.fillStyle = "rgba(255,255,255,0.9)";
ctx.beginPath();
for (let f of flakes) {
// Movimiento curvo realista
f.x += Math.sin(f.a) * 0.3 + windSpeed;
f.y += f.d * 1.2;
f.a += 0.01; // curva suave estilo viento
// SI CAE FUERA DE PANTALLA → reinicia arriba
if (f.y > h) {
f.y = -10;
f.x = Math.random() * w;
}
// Dibuja el copo
ctx.moveTo(f.x, f.y);
ctx.arc(f.x, f.y, f.r, 0, Math.PI * 2);
}
ctx.fill();
requestAnimationFrame(animate);
}
animate();
})();
</script>
¿Qué tiene este efecto que lo hace PRO?.
Muy suave:
Usa animación nativa sincronizada con el monitor → nada de cortes.
Movimiento real:
Trayectorias curvas, oscilación, viento ligero.
Cada copo “vive”:
Cada copo tiene:
- tamaño único
- ángulo propio
- velocidad única
- densidad distinta
- inicio fuera de pantalla
Eso lo hace MUY realista
Canvas → rendimiento máximo
Canvas dibuja a nivel de GPU, perfecto para 100–300 copos.
❄️ Cómo agregar un efecto de nieve profesional en WordPress usando JavaScript (requestAnimationFrame):
Agregar un efecto de nieve a tu sitio web es una de las formas más rápidas de darle un toque navideño, festivo o estacional sin afectar el rendimiento. En este artículo te explico cómo implementar nieve realista en WordPress utilizando requestAnimationFrame, la misma técnica que usan animaciones de alto rendimiento en videojuegos y aplicaciones modernas.
🎯 ¿Por qué usar requestAnimationFrame para simular nieve?:
A diferencia de otros métodos como jQuery o animaciones CSS básicas, requestAnimationFrame permite crear animaciones más fluidas, ligeras y eficientes. Esta API sincroniza los fotogramas de la animación con el monitor del usuario, logrando:
- Movimiento natural
- Mejor rendimiento en móviles y pantallas grandes
- Consumo mínimo de recursos
- Sin lag ni saltos
Esto la convierte en la opción ideal para efectos de nieve que requieren muchos elementos animados al mismo tiempo.
❄️ Características del efecto de nieve PRO:
El código crea un efecto de nieve con:
- Caída de arriba hacia abajo desde fuera del viewport
- Viento horizontal suave
- Movimiento curvo natural
- Copos de diferentes tamaños, velocidades y densidades
- Fluidez constante a 60 fps
- Compatibilidad total con cualquier tema o constructor (Elementor, Divi, GeneratePress, Astra y más)
🧩 Código completo listo para usar en WordPress:
Puedes pegar este código dentro de:
- Usando un plugin como Code Snippets en modo Frontend
- O apariencia → Editor de temas → footer.php (antes del cierre
</body>) - O un bloque HTML en el footer del sitio.