Skip to content

ATD-FBE/scattered-elements

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scattered Elements 🌪️

Scattered Elements — это интерактивный веб-эксперимент по визуализации управляемого хаоса. Проект демонстрирует работу с DOM-манипуляциями, сложными CSS-анимациями и асинхронным управлением состояниями элементов в Vanilla JS.

Суть приложения: упорядоченная сетка элементов, которую можно динамически "разбрасывать" по экрану, настраивая параметры физики и таймингов.

🛠 Технологический стек

  • Frontend: HTML5, CSS3 (Flexbox, Keyframes, Backdrop-filter).
  • Logic: Pure JavaScript (ES6+ Modules).
  • Utilities: Асинхронные цепочки (Promises), делегирование событий, Map для хранения состояний.

🚀 Основные возможности

  • Динамическая генерация: Создание контейнера с сеткой от 1x1 до 10x10 элементов в реальном времени.
  • Параметрический хаос:
    • Настройка количества элементов в группе выброса (1-100 шт.).
    • Контроль времени полета и максимальной задержки старта (Random Start).
    • Регулировка радиуса разброса в пикселях.
  • Интеллектуальная блокировка: Возможность вручную «закрепить» элементы кликом, исключая их из процесса выброса (визуализируется через смену состояний и анимации).
  • Режим восстановления: Алгоритм плавного возврата всех элементов в исходную позицию с соблюдением индивидуальных задержек, зафиксированных при выбросе.
  • Интерактивный лог: Детальный вывод статистики о количестве выброшенных и заблокированных элементов в текстовое поле.

📂 Структура проекта

  • index.html — разметка интерфейса и контейнеров.
  • script.js — основная логика, управление жизненным циклом элементов и асинхронные операции.
  • style.css — стилизация интерфейса, работа с текстурами и описание анимаций.
  • function_storage.js — вспомогательные функции (генерация случайных чисел, перемешивание индексов, форматирование текста).

🎮 Как запустить

  1. Клонируйте репозиторий.
  2. Откройте index.html в любом современном браузере.
  3. Настройте параметры в правой панели и жмите кнопку "Разбросать элементы!".

About

Interactive web experiment for visualizing managed chaos. Built with Vanilla JS, featuring dynamic DOM manipulation, custom sliders, and asynchronous element control.

Topics

Resources

Stars

Watchers

Forks

Contributors