Пользователь
- Регистрация
- 30 Ноя 2025
- Сообщения
- 47
- Автор темы
- #1
Приветствую вас в моей теме! Сегодня я покажу как сделать такой красивый снег:

Делается он без плагинов! А через шаблон PAGE_CONTAINER!
Заходим в панель администратора на вашем форуме:
![[Pawno-Help] Screenshot_20251207-154728.jpg [Pawno-Help] Screenshot_20251207-154728.jpg](https://pawno-help.ru/data/attachments/17/17140-a47486ffacfabc536d8f8133718b55d6.jpg)
Далее ищем:
![[Pawno-Help] 1765108112237.jpg [Pawno-Help] 1765108112237.jpg](https://pawno-help.ru/data/attachments/17/17141-02907a74b67d52552c8c0765dd1e2775.jpg)
И в конец вставляем код:
Спасибо за внимание!

1: Маленькая нагрузка. 2: Красивый и уникальный снег. 3: Не плагин. 4: Используется через PAGE_CONTAINER
Делается он без плагинов! А через шаблон PAGE_CONTAINER!
Заходим в панель администратора на вашем форуме:
![[Pawno-Help] Screenshot_20251207-154728.jpg [Pawno-Help] Screenshot_20251207-154728.jpg](https://pawno-help.ru/data/attachments/17/17140-a47486ffacfabc536d8f8133718b55d6.jpg)
Далее ищем:
![[Pawno-Help] 1765108112237.jpg [Pawno-Help] 1765108112237.jpg](https://pawno-help.ru/data/attachments/17/17141-02907a74b67d52552c8c0765dd1e2775.jpg)
И в конец вставляем код:
CSS:
<script>
// Snowfall for XenForo
document.addEventListener('DOMContentLoaded', function() {
const snowflakesContainer = document.createElement('div');
snowflakesContainer.id = 'xf-snowflakes';
snowflakesContainer.style.cssText = 'position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 9999; overflow: hidden;';
document.body.appendChild(snowflakesContainer);
const snowflakeCount = 70;
const snowflakes = [];
for (let i = 0; i < snowflakeCount; i++) {
createSnowflake();
}
function createSnowflake() {
const snowflake = document.createElement('div');
snowflake.innerHTML = '❄';
snowflake.style.cssText = `
position: absolute;
color: #e0f7ff;
font-size: ${Math.random() * 20 + 10}px;
opacity: ${Math.random() * 0.6 + 0.3};
user-select: none;
pointer-events: none;
z-index: 9999;
text-shadow: 0 0 5px white;
`;
snowflakesContainer.appendChild(snowflake);
snowflakes.push({
el: snowflake,
x: Math.random() * window.innerWidth,
y: Math.random() * window.innerHeight - window.innerHeight,
speed: Math.random() * 2 + 1,
sway: Math.random() * 1 - 0.5,
swaySpeed: Math.random() * 0.05 + 0.02,
size: Math.random() * 20 + 10
});
}
function animateSnow() {
for (const flake of snowflakes) {
flake.y += flake.speed;
flake.x += Math.sin(flake.y * flake.swaySpeed) * flake.sway;
if (flake.y > window.innerHeight) {
flake.y = -20;
flake.x = Math.random() * window.innerWidth;
}
flake.el.style.transform = `translate(${flake.x}px, ${flake.y}px)`;
}
requestAnimationFrame(animateSnow);
}
animateSnow();
// Responsive handling
window.addEventListener('resize', function() {
for (const flake of snowflakes) {
if (flake.x > window.innerWidth) {
flake.x = window.innerWidth - 10;
}
}
});
});
</script>
Спасибо за внимание!