javascript42
Главная
Все учебники
Блог
Учебник Isotope
Введение
Что такое Isotope
История и развитие библиотеки
Основные возможности и область применения
Сравнение с альтернативными решениями
Требования и совместимость
Структура документации
Установка и подключение
Установка через npm
Установка через CDN
Загрузка и локальное подключение
Подключение к проекту
Проверка корректности установки
Решение типичных проблем при установке
Базовая настройка
Минимальная конфигурация
Разметка HTML для контейнера
Инициализация через JavaScript
Инициализация через jQuery
Инициализация через data-атрибуты
Параметры конфигурации по умолчанию
Макеты и расположение элементов
Типы макетов
Режим masonry
Режим fitRows
Режим cellsByRow
Режим packery
Режим masonryHorizontal
Режим fitColumns
Вертикальные и горизонтальные макеты
Настройка отступов между элементами
Процентная ширина элементов
Адаптивные сетки
Сортировка элементов
Основы сортировки
Сортировка по data-атрибутам
Сортировка по содержимому элементов
Множественная сортировка
Обратная сортировка
Пользовательские функции сортировки
Динамическое изменение порядка сортировки
Сортировка при инициализации
Фильтрация элементов
Принципы фильтрации
Фильтрация по классам
Фильтрация по селекторам
Фильтрация по data-атрибутам
Комбинированная фильтрация
Функции-фильтры
Множественные фильтры
Показ всех элементов
Анимация при фильтрации
Методы библиотеки
Получение экземпляра Isotope
Метод arrange
Метод layout
Метод reloadItems
Метод remove
Метод insert
Метод appended
Метод prepended
Метод addItems
Метод updateSortData
Метод shuffle
Метод destroy
Метод getItemElements
Метод getFilteredItemElements
События
Система событий Isotope
Событие layoutComplete
Событие arrangeComplete
Событие removeComplete
Событие insertComplete
Привязка обработчиков событий
Отвязка обработчиков событий
Передача данных в событиях
Последовательность срабатывания событий
Анимация и переходы
Встроенная анимация
Настройка длительности анимации
Настройка функций плавности
Отключение анимации
CSS transitions
Анимация появления элементов
Анимация исчезновения элементов
Анимация перестановки
Производительность анимации
Динамическое добавление и удаление элементов
Добавление новых элементов
Удаление существующих элементов
Обновление макета после изменений
Работа с динамическим контентом
Добавление элементов в начало
Добавление элементов в конец
Пакетное добавление элементов
Корректное удаление из DOM
Размеры и расчет элементов
Определение размеров элементов
Свойство itemSelector
Свойство columnWidth
Свойство rowHeight
Использование элемента-сайзера
Процентные значения размеров
Фиксированные размеры
Расчет позиций элементов
Выравнивание элементов
Изображения и асинхронный контент
Проблема загрузки изображений
Интеграция с imagesLoaded
Ожидание загрузки медиа-контента
Перерасчет после загрузки
Работа с ленивой загрузкой
Placeholder для изображений
Обработка ошибок загрузки
Интеграция с другими библиотеками
Использование с jQuery
Работа с Infinite Scroll
Интеграция с Flickity
Совместная работа с Packery
Использование с Masonry
Работа с модальными окнами
Интеграция с фреймворками
Адаптивный дизайн
Медиа-запросы и Isotope
Изменение макета на разных экранах
Изменение количества колонок
Реинициализация при ресайзе
Отключение на мобильных устройствах
Оптимизация для планшетов
Тач-события и взаимодействие
Оптимизация производительности
Профилирование и диагностика
Уменьшение количества перерасчетов
Оптимизация анимаций
Виртуализация элементов
Debounce и throttle для событий
Минимизация reflow и repaint
Работа с большим количеством элементов
Ленивая инициализация
Продвинутые техники
Вложенные Isotope-контейнеры
Синхронизация нескольких экземпляров
Пользовательские макеты
Расширение функциональности
Создание плагинов для Isotope
Программное управление состоянием
Сохранение и восстановление фильтров
Работа с URL и history API
Доступность
Семантическая разметка
ARIA-атрибуты
Навигация с клавиатуры
Поддержка скринридеров
Focus management
Отладка и устранение ошибок
Типичные ошибки и их решения
Использование консоли разработчика
Проверка инициализации
Отладка расчета размеров
Проблемы с z-index
Конфликты стилей
Проблемы совместимости браузеров
Диагностика проблем производительности
Миграция и обновление
Миграция с Masonry
Миграция с Packery
Обновление между версиями Isotope
Изменения в API
Устаревшие методы и свойства
Обратная совместимость
Стратегии миграции больших проектов
Практические примеры
Галерея изображений с фильтрацией
Магазин с фильтрами товаров
Блог с поиском и тегами
Календарь событий
Доска объявлений
Поиск в реальном времени
Стилизация
Базовые CSS-стили
Стилизация контейнера
Стилизация элементов
Hover-эффекты
Состояния фильтрации
Активные фильтры и кнопки сортировки
Анимированные переходы через CSS
Препроцессоры и Isotope
Серверная интеграция
Загрузка данных через AJAX
Работа с REST API
Пагинация и подгрузка контента
Фильтрация на стороне сервера
Кэширование результатов
Индикаторы загрузки
Тестирование
Юнит-тестирование с Isotope
E2E-тестирование макетов
Тестирование фильтрации и сортировки
Тестирование производительности
Справочник API
Опции инициализации
Параметры макетов
Параметры сортировки
Параметры фильтрации
Параметры анимации
Полный список событий
Утилиты и вспомогательные функции