TGViewer
JavaScript задачи с собеседований JavaScript задачи с собеседований @javascriptquiz · 4.63K subscribers
Post #2006 532
Серый взрыв

Этот код использует HTML, CSS и JavaScript для создания анимированного графического эффекта. Он не использует никаких фреймворков, только чистый ванильный код. Вот что он делает:

Определяет функцию getRandomInt, которая возвращает случайное целое число в заданном диапазоне.
Определяет константу NUM_LINES, которая равна 69 и означает количество линий, которые будут нарисованы на SVG-элементе.
Получает ссылку на SVG-элемент с помощью document.querySelector и сохраняет ее в переменной svg.

Определяет функцию doArt, которая делает следующее:
Удаляет все старые линии с SVG-элемента, если они есть.

Создает новые линии с помощью цикла for и шаблонной строки. Каждая линия имеет атрибуты x1, y1, x2, y2, stroke, stroke-linecap и stroke-width. Значения этих атрибутов генерируются случайным образом с помощью функции getRandomInt. Например, x2 и y2 определяют конечную точку линии в процентах от ширины и высоты SVG-элемента. Stroke определяет цвет линии в формате RGBA, где последний компонент - это прозрачность. Stroke-width определяет толщину линии в пикселях.

Добавляет новые линии в начало SVG-элемента с помощью метода insertAdjacentHTML.

Вызывает функцию doArt один раз при загрузке страницы.

Добавляет обработчик события click на window, который вызывает функцию doArt каждый раз, когда пользователь кликает по экрану.

Определяет стили для SVG-элемента, body и line с помощью CSS. Например, он задает ширину и высоту SVG-элемента в 100%, фоновый цвет в #eee, отступ body в 0 и высоту body в 100vh (100% от высоты окна). Он также добавляет анимацию для line с помощью ключевых кадров и свойства transform. Анимация состоит из изменения масштаба линии от 1 до 0.69 за 4 секунды в бесконечном цикле с чередованием направления. Анимация также имеет разные задержки для разных линий с помощью псевдокласса nth-child.

🌐Ссылка на код (https://codepen.io/chriscoyier/pen/OJXNeyP)
codepen.io Gray Burst ...
  • 👍 1
More from @javascriptquiz
  1. Oct 12, 2026🔐 В интернете сменили один из важнейших криптографических ключей. Всего второй раз в исто…
  2. Oct 8, 2026Почему сайт узнаёт тебя после удаления cookies? Удалил cookies, но сайт будто помнит тебя?…
  3. Oct 6, 2026Arc Time Slider Это кастомный слайдер, разработанный с использованием веб-технологий HTML,…
  4. Oct 5, 2026Ознакомьтесь с этими 5 советами по адаптивному веб-дизайну 👨‍💻
  5. Oct 3, 2026Импорт локальных изображений vs использование изображений из папки / public в Next.js
  6. Oct 2, 2026Совет по веб-доступности 💡 Лучший способ сделать ваши ссылки, состоящие только из иконок,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →