- Главная
- Проекты на Vue
- Элегантная загрузка с размытием
Элегантная загрузка с размытием
Создание динамических и визуально приятных индикаторов загрузки может потребовать немало усилий. Однако с фреймворком Vue.js эта задача становится невероятно простой. Реактивная природа Vue позволяет легко связывать данные со стилями, создавая плавные и сложные анимации, такие как это исчезающее размытие, буквально в несколько строк кода.
Посмотрите, как это работает: по мере загрузки изображение становится четче, а счетчик плавно исчезает.
Если хотите посмотреть эффект еще раз — перезагрузите страницу.
Внимание! Представленный код — это готовый компонент, но для его работы на странице должен быть установлен и подключен фреймворк Vue. Если вы начинающий разработчик, просто добавьте строку <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
в раздел <head> вашего HTML, и всё заработает.
Как это работает: разбираем код
Выше представлен код, который приводит в действие анимацию загрузки с размытием. Он наглядно демонстрирует мощь и элегантность Vue.js.
HTML
Это каркас нашего компонента. Мы создаем контейнер для фонового изображения и счетчика. Обратите внимание на директивы :style, которые динамически вычисляют размытие и прозрачность на основе реактивных данных Vue.
CSS
Задает стили и позиционирование. Фоновое изображение растягивается на весь контейнер, а счетчик центрируется поверх него с помощью position: relative и position: absolute.
JavaScript (Vue 3 Composition API)
Это «мозг» компонента. Логика работы проста:
- Мы используем реактивную переменную
loading, которая хранит текущий прогресс (от 0 до 100). - Функции
updateBlur()иupdateOpacity()динамически вычисляют значения для CSS-свойствfilter: blur()иopacityна основе прогресса загрузки. - Хук
onMountedзапускает таймер, который увеличивает значениеloading, имитируя процесс загрузки. Когда прогресс достигает 100%, таймер очищается.
Готовы создать нечто особенное для вашего проекта?
Понравился этот эффект? Это лишь маленький пример того, как современные технологии, такие как Vue.js, могут оживить ваш сайт и улучшить пользовательский опыт. Наша веб-студия готова разработать для вас не только красивые индикаторы загрузки, но и сложные интерактивные интерфейсы, которые будут радовать ваших клиентов.
Свяжитесь с нами, и мы воплотим ваши идеи в чистый и эффективный код!