Bliss.js — это легковесная JavaScript-библиотека, ориентированная на упрощение работы с DOM, событиями, AJAX-запросами и утилитами для обработки данных. Она сочетает в себе функциональность jQuery с минималистичным API, сохраняя при этом высокую производительность и совместимость с современными браузерами.
Библиотека обеспечивает чистый и читаемый синтаксис для часто используемых задач, таких как манипуляция элементами страницы, работа с атрибутами, событиями и асинхронными запросами.
Bliss.js позволяет легко находить и модифицировать элементы. Основные функции:
var button = bliss.$('.my-button'); // Первый элемент с классом
var items = bliss.$$('.item'); // Все элементы с классом
$ возвращает первый элемент, а
$$ — коллекцию элементов.
button.addClass('active');
button.removeClass('disabled');
button.toggleClass('hidden');
Эти методы работают напрямую с classList, упрощая
добавление и удаление классов без явных проверок.
button.attr('data-id', 42); // Установка атрибута
var id = button.attr('data-id'); // Чтение атрибута
button.removeAttr('disabled'); // Удаление атрибута
Bliss.js объединяет чтение и запись атрибутов в один метод
attr, что делает код компактным.
button.css('color', 'red'); // Установка CSS-свойства
var color = button.css('color'); // Чтение CSS-свойства
Метод css поддерживает как одиночные свойства, так и
объектные записи для множественных стилей.
Bliss.js предлагает удобный API для работы с событиями:
button.on('click', function(event) {
console.log('Нажата кнопка');
});
button.off('click'); // Удаление обработчика
Метод on поддерживает делегирование
событий, позволяя назначать обработчики на родительский элемент
и отслеживать события на потомках.
button.on('mouseenter mouseleave', function() {
this.toggleClass('hover');
});
Bliss.js позволяет назначать несколько событий через пробел, что сокращает код и делает его более читаемым.
Bliss.js интегрирует удобный способ выполнения асинхронных запросов:
bliss.ajax({
url: '/api/data',
method: 'GET',
success: function(response) {
console.log('Данные получены', response);
},
error: function(err) {
console.error('Ошибка запроса', err);
}
});
Параметры success и error позволяют сразу
обработать ответ, без необходимости вручную создавать
XMLHttpRequest.
Дополнительно поддерживаются методы GET и
POST с передачей данных в виде объекта:
bliss.post('/api/save', {name: 'Alice', age: 25});
Bliss автоматически сериализует объект в
application/x-www-form-urlencoded или JSON, в
зависимости от настроек.
Библиотека содержит функции для упрощённой обработки коллекций:
bliss.each([1,2,3], function(value, index) {
console.log(index, value);
});
var result = bliss.filter([1,2,3,4], function(n) { return n % 2 === 0; }); // [2,4]
var found = bliss.find([1,2,3], function(n) { return n > 1; }); // 2
var obj = bliss.extend({a:1}, {b:2}, {c:3}); // {a:1,b:2,c:3}
Метод extend объединяет несколько объектов, копируя
свойства в первый объект.
Bliss.js упрощает создание и вставку новых элементов:
var div = bliss.create('div', {
class: 'box',
html: 'Привет, Bliss!'
});
document.body.appendChild(div);
Метод create поддерживает передачу атрибутов, классов,
текста и HTML-содержимого, а также вложенные структуры:
var list = bliss.create('ul', {
html: [
bliss.create('li', {html: 'Элемент 1'}),
bliss.create('li', {html: 'Элемент 2'})
]
});
Bliss.js создан с расчётом на современные браузеры, но при этом сохраняет поддержку основных функций даже в старых версиях. Основной акцент сделан на:
Bliss не перегружает глобальное пространство имён и предоставляет
чистый API через объект bliss, что предотвращает конфликты
с другими библиотеками.
classList, querySelectorAll,
fetch и других современных API.Bliss.js подходит для проектов, где важна скорость, минимализм и простота синтаксиса, а также для постепенной миграции с других библиотек без переписывания всей логики работы с DOM и AJAX.