5 июня 2025

Уведомление cookie на сайт скачать код с анимацией

Это решение создает интерактивный и запоминающийся cookie-информер с плавными анимациями и профессиональным внешним видом, который точно привлечет внимание пользователей.

ДЕМО

Ключевые особенности реализации:

  1. Lottie-анимация персонажа:

    • Анимация отображается справа от текста

    • Используется популярная библиотека Lottie

    • По умолчанию используется анимация милого монстра (можно заменить)

    • Настройки размера через CSS-переменные

  2. Эффект печатающегося текста:

    • Текст появляется посимвольно с кастомной скоростью

    • Мигающий курсор во время печати

    • Поддержка HTML-тегов в тексте (для ссылки)

  3. Анимация кнопки:

    • Кнопка плавно появляется после завершения печати текста

    • Эффекты наведения и нажатия

    • Плавное исчезновение всего информера

  4. Удобные настройки:

const settings = {
  storageType: 'sessionStorage', // Тип хранилища
  cookieName: 'cookieConsentAccepted', // Ключ для хранения
  showDelay: 1500, // Задержка перед показом (мс)
  text: 'Ваш текст...', // Текст с HTML
  typingSpeed: 30, // Скорость печати (мс/символ)
  lottieJson: 'url.json' // Путь к JSON Lottie
};

  1. Как сменить анимацию:

    • Замените URL в настройке lottieJson

    • Найдите подходящую анимацию на LottieFiles

    • Скопируйте URL JSON-файла

  2. Адаптивный дизайн:

    • На мобильных устройствах анимация перемещается сверху

    • Автоматическое изменение размеров

    • Центрирование элементов

  3. Дополнительные эффекты:

    • Размытие фона (backdrop-filter)

    • Тень с настраиваемыми параметрами

    • Плавные переходы всех элементов

    • Анимация мигающего курсора

Как использовать:

  1. Вставьте код перед закрывающим тегом </body>

  2. Для смены анимации:

    • Перейдите на LottieFiles

    • Выберите понравившуюся анимацию

    • Нажмите "Download" → "JSON"

    • Загрузите файл на свой сервер

    • Укажите путь в настройках: lottieJson: '/путь/к/анимации.json'

  3. Настройте текст сообщения в переменной settings.text

  4. Измените цвета через CSS-переменные в секции :root

Пример смены анимации :

lottieJson: 'https://assets6.lottiefiles.com/packages/lf20_7sk0mibx.json'

Модификация для Craftum платная - оплатить и получить код можно в разделе Оплата 🔒

Оплата

Ваш код для конструктора Craftum:

<div class="cookie-consent"> <div class="cookie-content"> <div class="cookie-message"> <p id="cookie-text" class="cookie-text"></p> <button class="cookie-button" style="display:none; opacity:0;">Понятно</button> </div> <div id="cookie-animation" class="cookie-animation"></div> </div> </div> <style> :root { --cookie-bg: rgba(0, 0, 0, 0.8); --cookie-text-color: #ffffff; --cookie-font-family: 'Segoe UI', Roboto, sans-serif; --cookie-padding: 25px; --cookie-border-radius: 12px; --cookie-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); --cookie-button-bg: #4CAF50; --cookie-button-hover: #45a049; --cookie-button-text: #ffffff; --cookie-button-padding: 12px 30px; --cookie-button-radius: 30px; --cookie-button-shadow: 0 4px 15px rgba(76, 175, 80, 0.5); --cookie-link-color: #8bc34a; --cookie-link-hover: #aed581; --cookie-animation-duration: 0.8s; --cookie-animation-delay: 0.2s; --cookie-z-index: 10000; --lottie-width: 120px; --lottie-height: 120px; } .cookie-consent { position: fixed; bottom: 20px; right: 20px; max-width: 500px; background: var(--cookie-bg); z-index: var(--cookie-z-index); padding: var(--cookie-padding); border-radius: var(--cookie-border-radius); box-shadow: var(--cookie-box-shadow); transform: translateX(150%); transition: transform var(--cookie-animation-duration) cubic-bezier(0.34, 1.56, 0.64, 1); backdrop-filter: blur(8px); display: none; overflow: hidden; } .cookie-content { display: flex; align-items: center; gap: 20px; } .cookie-message { flex: 1; } .cookie-text { color: var(--cookie-text-color); margin: 0 0 15px 0; font-family: var(--cookie-font-family); font-size: 15px; line-height: 1.5; min-height: 70px; } .cookie-text::after { content: "|"; display: inline-block; animation: blink 1s infinite; margin-left: 3px; } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } .cookie-link { color: var(--cookie-link-color); text-decoration: underline; transition: color 0.3s; } .cookie-link:hover { color: var(--cookie-link-hover); } .cookie-button { background: var(--cookie-button-bg); color: var(--cookie-button-text); border: none; padding: var(--cookie-button-padding); border-radius: var(--cookie-button-radius); cursor: pointer; font-weight: 600; box-shadow: var(--cookie-button-shadow); transition: all 0.4s ease; font-family: var(--cookie-font-family); font-size: 15px; opacity: 0; transform: translateY(10px); display: inline-block; } .cookie-button:hover { background: var(--cookie-button-hover); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(76, 175, 80, 0.6); } .cookie-animation { width: var(--lottie-width); height: var(--lottie-height); flex-shrink: 0; } .cookie-consent.show { display: block; transform: translateX(0); } @media (max-width: 768px) { .cookie-consent { bottom: 10px; right: 10px; left: 10px; max-width: none; transform: translateY(150%); } .cookie-consent.show { transform: translateY(0); } .cookie-content { flex-direction: column-reverse; text-align: center; } .cookie-animation { margin-bottom: 10px; } :root { --lottie-width: 90px; --lottie-height: 90px; --cookie-padding: 20px; } } @media (max-width: 480px) { :root { --lottie-width: 80px; --lottie-height: 80px; --cookie-font-size: 14px; } .cookie-button { width: 100%; } } </style> <script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script> <script> document.addEventListener('DOMContentLoaded', function() { const cookieConsent = document.querySelector('.cookie-consent'); const cookieButton = document.querySelector('.cookie-button'); const cookieText = document.getElementById('cookie-text'); const settings = { storageType: 'sessionStorage', cookieName: 'cookieConsentAccepted', showDelay: 1500, text: 'Этот сайт использует файлы cookie. Продолжая использовать этот сайт, вы соглашаетесь на их использование. <a href="/cookie-policy" class="cookie-link">Узнать больше</a>.', typingSpeed: 30, lottieJson: 'https://assets5.lottiefiles.com/packages/lf20_0yfsb3a1.json' }; const hasConsent = window[settings.storageType].getItem(settings.cookieName); if (!hasConsent) { const animationContainer = document.getElementById('cookie-animation'); animationContainer.innerHTML = ` <lottie-player src="${settings.lottieJson}" background="transparent" speed="1" loop autoplay style="width: 100%; height: 100%;" ></lottie-player> `; setTimeout(() => { cookieConsent.style.display = 'block'; setTimeout(() => cookieConsent.classList.add('show'), 100); typeWriter(settings.text, 0); }, settings.showDelay); } function typeWriter(text, i) { if (i < text.length) { cookieText.innerHTML = text.substring(0, i+1); setTimeout(() => typeWriter(text, i + 1), settings.typingSpeed); } else { setTimeout(() => { cookieButton.style.display = 'inline-block'; setTimeout(() => { cookieButton.style.opacity = '1'; cookieButton.style.transform = 'translateY(0)'; }, 100); }, 500); } } cookieButton.addEventListener('click', () => { cookieConsent.classList.remove('show'); setTimeout(() => { cookieConsent.style.display = 'none'; }, 800); window[settings.storageType].setItem(settings.cookieName, 'true'); }); document.addEventListener('click', (e) => { if (cookieConsent.classList.contains('show') && !e.target.closest('.cookie-content')) { cookieConsent.classList.remove('show'); setTimeout(() => { cookieConsent.style.display = 'none'; }, 800); window[settings.storageType].setItem(settings.cookieName, 'true'); } }); }); </script>
Ваш заказ
  • image alt
    POWER Full 14
    POWER Full 14
    1000
  • image alt
    POWER Full 14
    POWER Full 14
    2000
3000

Файлы придут к вам на почту после оплаты
Оставляя заявку, вы соглашаетесь на обработку персональных данных

2
Иконка MAX