ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

КАК Сделать

Главная

Меню

Панель значков Значок меню Аккордеон Вкладки Вертикальные вкладки Заголовки вкладок Вкладки полной страницы Вверх Навигация Отзывчивый Topnav Панель поиска Исправлена ​​боковая панель Боковая навигация Полноэкранная навигация Меню Off-Canvas Наведение с помощью кнопок Меню горизонтальной прокрутки Вертикальное меню Нижняя навигация Отзывчивый снимок Nav Ссылки на нижнюю границу Ссылки справа Центрированные ссылки меню Исправлено меню Слайд-шоу в прокрутке Скрыть Navbar в прокрутке Прикрепленное Navbar Выпадающие окна Hover Нажмите «Раскрывающиеся окна» Раскрытие в Топнаве Распространение в Сидене Откроется панель Navbar Dropup Mega Menu пагинация Панировочные сухари Группа кнопок Группа вертикальных кнопок Важная социальная панель Отзывчивый заголовок

Изображения

Слайд-шоу Галерея слайд-шоу Модальные изображения Лайтбокс Адаптивная Сетка изображения Сетка изображения Галерея вкладок Оверлей изображения Слайд с наложенным изображением Масштабирование наложения изображения Название наложения изображения Значок наложения изображения Эффекты изображения Черно-белое изображение Текст изображения Текстовые блоки изображений Прозрачный текст изображения Полное изображение страницы Форма на картинке Герой изображение Параллельные изображения Округленные изображения Аватар изображения Адаптивные образы Центрировать изображения Миниатюры Познакомьтесь с командой Липкое изображение Отражение изображения Встряхните изображение Портфолио галерея Портфолио с фильтрацией Масштабирование изображения Изображение увеличительное стекло Ползунок сравнения изображений

Кнопки

Кнопки оповещения Кнопки структуры Кнопки разделения Анимированные кнопки Кнопки затухания Кнопка на картинке Кнопки социальных сетей Кнопки загрузки Кнопки загрузки Значки Кнопки «Далее»/«предыдущий» Кнопки блокировки Текстовые кнопки Круглые пуговицы Прокрутка к верхней кнопке

Формы

Форма входа Форма регистрации Бланк заказа Контактная форма Форма для входа в социальную систему Форма регистрации Форма с иконками Бюллетень Адаптивная форма Очистить поле ввода Копировать текст в буфер обмена Анимированный Поиск Кнопка поиска Полноэкранный Поиск Настраиваемый флажок/Радио Выборочный выбор Тумблер Установите флажок Проверка пароля Переключение видимости паролей Форма с несколькими шагами Автозаполнения

Фильтры

Список фильтров Таблица фильтров Фильтрующие элементы Фильтр раскрывающегося списка Сортировать список Сортировка таблицы

Таблицы

Зебра полосатые таблицы Адаптивные таблицы Сравнительная таблица

Больше

Fullscreen Video Модальные коробки Шкала Индикатор прокрутки Строки хода выполнения Панель умений Ползунки диапазона Подсказки Popups Складной Календарь HTML вставка Список Погрузчики Звездв Рейтинг пользователей Эффект наложения Контактные фишки Карты Карточка профиля Оповещения Заметки Метки Круги Купон Отзывчивый текст Фиксированный нижний колонтитул Липкий элемент Одинаковая высота Clearfix Снэк-бар Прокрутка рисунка Липкий заголовок Таблица цен Параллакс Пропорции Переключение типа/не нравится Включить скрытие/отображение Переключение текста Переключение класса Добавить класс Удалить класс Активный класс Увеличить Hover Переход при наведении Стрелки Формы Окно браузера Настраиваемая полоса прокрутки Цвет заполнителя Вертикальная линия Анимация значков Таймер обратного отсчета Машинку Скоро страница Сообщения чата Разделить экран Отзывы Цитаты слайд-шоу Закрываемые элементы списка Типичные точки останова устройства Перетаскивание HTML-элемента Кнопка спуска на входе JS медиа запросы JS анимации Получить элементы IFRAME

Сайт

Создать веб-сайт Создать веб-сайт (BS3) Создать веб-сайт (BS4) Веб-сайт центра Контактная Секция

Сетка

2 расположение колонок 3 Расположение колонок 4 расположение колонок Разворачивание сетки Представление сетки списка Компоновка смешанных столбцов Макет блога

Google

Карты Google Карты Google BW Google перевести Google чарты Google шрифты

Конвертеры

Преобразовать вес Преобразовать температуру Преобразовать длину Конвертировать скорость


Как сделать - Фильтровать элементы div


Узнайте, как фильтровать элемент div на основе его имени класса.


Фильтровать элементы div

BMW
Orange
Volvo
Red
Mustang
Blue
Cat
Dog
Melon
Kiwi
Banana
Lemon
Cow


Создание фильтрующих элементов div

Шаг 1) добавить HTML:

Пример

<!-- Control buttons -->
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')"> Show all</button>
  <button class="btn" onclick="filterSelection('cars')"> Cars</button>
  <button class="btn" onclick="filterSelection('animals')"> Animals</button>
  <button class="btn" onclick="filterSelection('fruits')"> Fruits</button>
  <button class="btn" onclick="filterSelection('colors')"> Colors</button>
</div>

<!-- The filterable elements. Note that some have multiple class names (this can be used if they belong to multiple categories) -->
<div class="container">
  <div class="filterDiv cars">BMW</div>
  <div class="filterDiv colors fruits">Orange</div>
  <div class="filterDiv cars">Volvo</div>
  <div class="filterDiv colors">Red</div>
  <div class="filterDiv cars animals">Mustang</div>
  <div class="filterDiv colors">Blue</div>
  <div class="filterDiv animals">Cat</div>
  <div class="filterDiv animals">Dog</div>
  <div class="filterDiv fruits">Melon</div>
  <div class="filterDiv fruits animals">Kiwi</div>
  <div class="filterDiv fruits">Banana</div>
  <div class="filterDiv fruits">Lemon</div>
  <div class="filterDiv animals">Cow</div>
</div>

Шаг 2) добавить CSS:

Пример

.container {
    overflow: hidden;
}

.filterDiv {
    float: left;
    background-color: #2196F3;
    color: #ffffff;
    width: 100px;
    line-height: 100px;
    text-align: center;
    margin: 2px;
    display: none; /* Hidden by default */
}

/* The "show" class is added to the filtered elements */
.show {
    display: block;
}

/* Style the buttons */
.btn {
  border: none;
  outline: none;
  padding: 12px 16px;
  background-color: #f1f1f1;
  cursor: pointer;
}

/* Add a light grey background on mouse-over */
.btn:hover {
  background-color: #ddd;
}

/* Add a dark background to the active button */
.btn.active {
  background-color: #666;
  color: white;
}


Шаг 3) добавить JavaScript:

Пример

filterSelection("all")
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("filterDiv");
  if (c == "all") c = "";
  // Add the "show" class (display:block) to the filtered elements, and remove the "show" class from the elements that are not selected
  for (i = 0; i < x.length; i++) {
    w3RemoveClass(x[i], "show");
    if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show");
  }
}

// Show filtered elements
function w3AddClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    if (arr1.indexOf(arr2[i]) == -1) {
      element.className += " " + arr2[i];
    }
  }
}

// Hide elements that are not selected
function w3RemoveClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    while (arr1.indexOf(arr2[i]) > -1) {
      arr1.splice(arr1.indexOf(arr2[i]), 1);
    }
  }
  element.className = arr1.join(" ");
}

// Add active class to the current control button (highlight it)
var btnContainer = document.getElementById("myBtnContainer");
var btns = btnContainer.getElementsByClassName("btn");
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
  });
}