Zepto.js — это минималистичная библиотека для работы с DOM в JavaScript, ориентированная на мобильные браузеры. Она предоставляет API, очень похожий на jQuery, но с меньшим размером и более простым ядром. Основная цель Zepto — ускорение разработки веб-приложений за счет лаконичного синтаксиса и удобного управления элементами страницы.
Для использования Zepto достаточно подключить библиотеку через
<script>:
<script src="zepto.min.js"></script>
После этого можно использовать глобальную функцию $,
которая служит универсальным селектором и инструментом для работы с
DOM:
var elems = $('.my-class'); // выбор всех элементов с классом 'my-class'
Zepto поддерживает CSS-селекторы для поиска элементов. Методы навигации позволяют работать с отношениями между элементами:
parent() — выбор родительского элементаchildren() — выбор дочерних элементовfind(selector) — поиск потомков по селекторуsiblings() — выбор элементов-соседейПример использования:
var parentDiv = $('#container').children('.item');
var siblings = parentDiv.siblings();
Zepto позволяет добавлять, удалять и изменять элементы страницы:
append(content) — вставка контента внутрь выбранных
элементовprepend(content) — вставка в началоafter(content) / before(content) — вставка
вне элементаremove() — удаление элемента из DOMПример добавления нового элемента:
$('#list').append('<li>Новый элемент</li>');
Zepto предоставляет удобные методы для работы с атрибутами, свойствами и стилями элементов:
attr(name, value) — чтение или установка атрибутаremoveAttr(name) — удаление атрибутаcss(property, value) — установка CSS-свойстваaddClass(name), removeClass(name),
toggleClass(name) — работа с классамиПример изменения стиля:
$('.highlight').css('color', 'red').addClass('active');
Zepto обеспечивает удобный механизм для работы с событиями, аналогичный jQuery:
on(event, selector, callback) — добавление
обработчикаoff(event, selector, callback) — удаление
обработчикаtrigger(event) — вызов событияПример:
$('#button').on('click', function() {
alert('Кнопка нажата');
});
Особенность Zepto — делегирование событий, что удобно для динамически создаваемых элементов:
$(document).on('click', '.dynamic-item', function() {
console.log('Элемент динамически создан и кликнут');
});
Zepto поддерживает простые анимации через метод animate,
а также эффекты скрытия и показа:
show() / hide() — показ/скрытие
элементовfadeIn(duration) / fadeOut(duration) —
плавное появление и исчезновениеslideDown(duration) / slideUp(duration) —
скольжение вниз и вверхПример анимации:
$('#box').fadeOut(500).fadeIn(500);
Метод animate позволяет анимировать CSS-свойства:
$('#box').animate({ width: '200px', opacity: 0.5 }, 1000);
Zepto включает модуль для работы с Ajax, совместимый с jQuery. Основные методы:
$.ajax(options) — универсальный метод$.get(url, data, success, dataType) — GET-запрос$.post(url, data, success, dataType) — POST-запрос$.getJSON(url, data, success) — получение JSONПример запроса:
$.get('/api/data', { id: 123 }, function(response) {
console.log(response);
}, 'json');
Параметры $.ajax позволяют детально настроить запрос:
метод, заголовки, таймаут, обработку ошибок.
Zepto поддерживает chaining — последовательное выполнение методов на одном объекте. Это позволяет писать компактный и читаемый код:
$('#list')
.find('li')
.css('color', 'blue')
.addClass('active')
.on('click', function() { console.log('Clicked'); });
Zepto имеет модульную структуру. Можно подключать дополнительные модули для:
zepto.form.js)zepto.fx.js)zepto.ajax.js)zepto.touch.js)Создание собственного плагина Zepto происходит через расширение прототипа:
$.fn.highlight = function(color) {
this.css('background-color', color);
return this; // для chaining
};
Пример использования плагина:
$('.item').highlight('yellow');
Zepto ориентирован на мобильные устройства, поэтому важно учитывать:
Zepto поддерживает современные мобильные браузеры и последние версии настольных. В отличие от jQuery, некоторые устаревшие методы и свойства могут отсутствовать. Для сложных веб-приложений важно проверять поддержку всех используемых функций в целевых браузерах.
Zepto.js предоставляет лаконичный и гибкий инструмент для работы с DOM, событиями, анимацией и Ajax, оставаясь легким и производительным решением для мобильных и веб-проектов.