Доброго времени суток.
Эта небольшая заметка посвящена тестированию возможностей парочки новых крохотных JavaScript-библиотек — motionia.js и consoleimg.js. Первая предназначена для работы с анимацией, вторая — для вывода изображений в консоль.
Motionia.js — это библиотека для работы с анимацией.
Элементы анимируются с помощью
По утверждению разработчика, motionia.js предлагает 100+ встроенных анимаций с возможностью расширения.
Подключаем библиотеку:
Создаем пять контейнеров. Добавляем каждому обработчик события «клик». По клику вызывается функция «motionia», которой в качестве аргументов передается цель анимации (анимируемый элемент), название анимации и, в двух случаях (первый и последний контейнеры), дополнительный параметр — настройки анимации:
Добавляем стили:
Результат:
Поставил звезду на Github за идею.
Из недостатков можно отметить следующее:
Разумеется, пользоваться библиотекой или нет, решать вам.
Consoleimg.js — как следует из названия, это библиотека для вывода изображений в консоль.
Находим и скачиваем подходящее изображение (поддерживаются все форматы, включая gif и svg), скачиваем скрипт с Github и подключаем его:
Изображение в консоль выводится с помощью
Результат:
Бесполезно, но забавно.
Код находится здесь.
Благодарю за внимание.
Эта небольшая заметка посвящена тестированию возможностей парочки новых крохотных JavaScript-библиотек — motionia.js и consoleimg.js. Первая предназначена для работы с анимацией, вторая — для вывода изображений в консоль.
Motionia.js
Motionia.js — это библиотека для работы с анимацией.
Элементы анимируются с помощью
motionia('target', 'anim')
, где target — любой HTML-элемент (id, class, тег), а anim — название анимации.По утверждению разработчика, motionia.js предлагает 100+ встроенных анимаций с возможностью расширения.
Подключаем библиотеку:
<script src="https://cdn.jsdelivr.net/gh/abhiprojectz/motionia/dist/motionia.js" defer></script>
Создаем пять контейнеров. Добавляем каждому обработчик события «клик». По клику вызывается функция «motionia», которой в качестве аргументов передается цель анимации (анимируемый элемент), название анимации и, в двух случаях (первый и последний контейнеры), дополнительный параметр — настройки анимации:
<div class="box1" onclick="motionia('.box5', 'slideX', '100px')">slideX</div>
<div class="box2" onclick="motionia('.box3', 'bounceIn')">bounceIn</div>
<div class="box3" onclick="motionia('.box4', 'rollIn')">rollIn</div>
<div class="box4" onclick="motionia('.box2', 'slideIn')">slideIn</div>
<div class="box5" onclick="motionia('.box1', 'slideY', '-100px')">slideY</div>
Добавляем стили:
body {
margin: 0;
height: 100vh;
background: radial-gradient(circle, lightgreen, darkgreen);
display: flex;
justify-content: center;
align-items: center;
}
div {
margin: 0 .5em;
width: 100px;
height: 100px;
background: linear-gradient(skyblue, steelblue);
border-radius: 5px;
box-shadow: 0 1px 2px rgba(0,0,0,.8);
display: inherit;
justify-content: center;
align-items: center;
font-family: system-ui;
font-size: 1.2em;
font-weight: bold;
cursor: pointer;
user-select: none;
}
Результат:
Поставил звезду на Github за идею.
Из недостатков можно отметить следующее:
- Встроенных анимаций, по моим подсчетам, всего 33 (у Animate.css, например, их 97).
- Часть анимаций не работает, например, flip.
- Анимации довольно простые.
- При попытке использовать в другом скрипте получаем
Uncaught ReferenceError: motionia is not defined
, т.е. использовать можно только во встроенном скрипте, что не комильфо. - Используется jQuery, что также не комильфо. Я ничего против jQuery не имею, но такой функционал можно было реализовать и на чистом JS.
- Из селекторов доступны только идентификаторы, классы и теги.
Разумеется, пользоваться библиотекой или нет, решать вам.
Consoleimg.js
Consoleimg.js — как следует из названия, это библиотека для вывода изображений в консоль.
Находим и скачиваем подходящее изображение (поддерживаются все форматы, включая gif и svg), скачиваем скрипт с Github и подключаем его:
<script src="consoleimg.min.js"></script>
Изображение в консоль выводится с помощью
consoleimg.load('image', {size: 320, color: 'transparent'})
, где image — название изображения, size — максимальная высота изображения (320px по умолчанию), color — цвет фона (прозрачный по умолчанию).consoleimg.load('img.png', {size: 320, color: '#fff'})
Результат:
Бесполезно, но забавно.
Код находится здесь.
Благодарю за внимание.