Bliss.js — это компактная и мощная библиотека для работы с DOM в JavaScript, ориентированная на упрощение манипуляций с элементами страницы, событий и анимаций. Она сочетает синтаксис, похожий на jQuery, с современными возможностями ES6 и предоставляет легкий и гибкий API для создания интерактивного интерфейса.
Для использования Bliss.js достаточно добавить ссылку на библиотеку в HTML-файл:
<script src="https://cdn.jsdelivr.net/npm/blissfuljs@1.0.0/bliss.min.js"></script>
После этого глобальная переменная Bliss (или короткий
$) становится доступной для работы с DOM:
const $ = Bliss;
Bliss.js позволяет быстро создавать элементы и добавлять их в DOM.
Метод $.create() принимает имя тега и объект с
атрибутами:
const button = $.create('button', {
textContent: 'Нажми меня',
className: 'btn-primary',
onclick: () => alert('Кнопка нажата')
});
document.body.appendChild(button);
Ключевые моменты:
textContent задаёт текст внутри элемента.className позволяет присвоить CSS-класс.onclick, onmouseover и т.д.).Выбор элементов осуществляется через метод $(), который
принимает CSS-селектор:
const div = $('.container');
После выбора элементов доступны методы для манипуляции:
div.addClass('active'); // добавление класса
div.removeClass('hidden'); // удаление класса
div.toggleClass('highlight'); // переключение класса
div.html('<p>Новый контент</p>'); // замена HTML-контента
div.text('Простой текст'); // изменение текстового содержимого
Особенности работы с коллекциями:
addClass, removeClass,
toggleClass применяются ко всем элементам коллекции.div[0].Bliss.js предлагает удобный способ назначения событий через метод
on:
const input = $('#input-field');
input.on('input', e => console.log(e.target.value));
input.on('focus', () => input.addClass('focused'));
input.on('blur', () => input.removeClass('focused'));
Метод off позволяет удалить обработчики:
input.off('input');
Поддерживается делегирование событий, что позволяет назначать обработчики на родительский элемент:
$('.list').on('click', 'li', e => {
console.log('Элемент списка:', e.target.textContent);
});
Bliss.js включает методы для плавного показа и скрытия элементов:
const box = $('.box');
box.fadeIn(500); // плавное появление за 500 мс
box.fadeOut(300); // плавное исчезновение за 300 мс
Методы изменения стилей:
box.css({
backgroundColor: 'blue',
width: '200px',
height: '100px'
});
Также можно использовать метод animate для создания
кастомных анимаций:
box.animate({ left: '300px', opacity: 0.5 }, 1000, 'ease-in-out');
Bliss.js предоставляет простые методы для работы с атрибутами:
const link = $('a');
link.attr('href', 'https://example.com'); // установка атрибута
console.log(link.attr('href')); // получение атрибута
link.removeAttr('target'); // удаление атрибута
Для хранения пользовательских данных используется
data:
link.data('id', 123);
console.log(link.data('id')); // 123
Bliss.js содержит упрощённый API для AJAX:
$.ajax({
url: 'https://jsonplaceholder.typicode.com/posts',
method: 'GET',
success: data => console.log(data),
error: err => console.error(err)
});
Параметры метода $.ajax:
url — адрес запроса.method — HTTP-метод.data — данные для отправки (если POST).success — коллбэк при успешном ответе.error — обработка ошибок.Простейший пример объединяет создание элементов, обработку событий и анимацию:
const container = $.create('div', { className: 'container' });
document.body.appendChild(container);
const btn = $.create('button', {
textContent: 'Показать блок',
className: 'btn'
});
container.appendChild(btn);
const box = $.create('div', {
className: 'box',
css: { width: '100px', height: '100px', backgroundColor: 'red', display: 'none' }
});
container.appendChild(box);
btn.on('click', () => box.fadeIn(400));
В этом примере:
div с красным фоном и скрыт по
умолчанию.fadeIn.Благодаря компактному и интуитивному API Bliss.js позволяет создавать интерактивные интерфейсы с минимальным количеством кода, при этом обеспечивая полную гибкость работы с DOM, событиями и анимациями.