Делаем фильтр контента на JavaScript

Поделиться
HTML-код
  • Опубликовано: 27 июн 2020
  • Мой сайт itgid.info/
    Курс JS 2.0 itgid.info/course/javascript-2
    Чат t.me/jsrules
    Скачать код: itgid.info/article/view?artic...
    Делаем фильтры контента на JavaScript

Комментарии • 107

  • @MariIloveREALmusic
    @MariIloveREALmusic 3 года назад +2

    Спасибо Вам ОГРОМЕННОЕ!!! что так просто и понятно объясняете и разъясняете, что делает каждая строка кода.

  • @mtanasov
    @mtanasov Год назад +3

    👍👍👍у Вас очень разъясняющие и доходчивые уроки. Спасибо за Ваш труд

  • @cg_man
    @cg_man 4 года назад +23

    Святая корова, это то что мне было нужно именно сейчас. Благодарю

    • @itgid
      @itgid  4 года назад +5

      круто!

  • @heyter1579
    @heyter1579 4 года назад +4

    ваши уроки как бальзам на душу, а концовка услада для ушей

  • @sneakykickz
    @sneakykickz 2 года назад +4

    Огромное спасибище!
    И офигеть, какой стильный пример! Говорю как UXUI дизайнер, который не равнодушен к коду)))))

  • @aliskhankhutiev
    @aliskhankhutiev Год назад +1

    Всё очень понятно и чётко объясняете. Спасибо!

  • @khamidakhmedov248
    @khamidakhmedov248 4 года назад +1

    Просто кайфую от ваших уроков

  • @antonromanov1347
    @antonromanov1347 2 года назад +1

    Хороший видеоурок, спасибо вам большое. Недавно только начал практиковаться на JavaScript, и как раз была идея попробовать сделать фильтр для сайта. Спасибо большое🔥🔥

  • @user-jr7ny5pm1y
    @user-jr7ny5pm1y 3 года назад +2

    Очень полезный и хороший видеоурок, спасибо

  • @khamidakhmedov248
    @khamidakhmedov248 4 года назад +5

    Я очень благодарен вам!!!! Вы очень крутой учитель!!!!!

  • @gorkachannel7988
    @gorkachannel7988 Год назад +20

    урок конечно классный, но думаю, что не совсем подойдет для реальных проектов. Представим, что мы получаем данные с бэка о каких то карточках, их может быть хоть сотня. Карточки рендерим на странице, 10 карточек синих, 90 красных. На странице также присутствует чекбокс для фильтрации "только синие". И код предложенный в видео, просто скрывает ненужные карточки, но не удаляет из dom дерева, т.е. все равно идет нагрузка на ресурсы пользователя, как будто он просматривает 100 карточек, а не всего 10 нужных синих. С точки зрения оптимизации будет лучше удалять эти элементы из dom и возвращать, когда чекбокс переходит в состояние инактив. Сугубо мое личное мнение :)

    • @user-super269
      @user-super269 Год назад

      подскажете как это сделать?

    • @maximpopov4106
      @maximpopov4106 Год назад

      @@user-super269 а как вернуть если их удалил ?

    • @romanmed9035
      @romanmed9035 Год назад

      отличный комментарий. а я открыл это чтобы показать начинающему как деалть. хорошо что сначала прочитал комментарий. иначе нацучил бы его не правильному. надо пересматривать сначала видео прежде чем отправлять ссылки ученикам. а так делать совсем нельзя как показано. только полное новое формирование дерева. даже в старые времена так не делалось. это какое-то новшество вредительства.

    • @gorkachannel7988
      @gorkachannel7988 Год назад

      @@maximpopov4106 точно так же, как и удалил) через insertAdjacent рендеришь отфильтрованные, когда фильтра нет, рендеришь весь массив

    • @user-sg7dn9wz2r
      @user-sg7dn9wz2r 3 месяца назад

      @@user-super269 добавлять эл-ты динамически через js изначально. Формировать массив эл-тов, потом его сортировать и добавлять уже отсортированный в верстку

  • @_fulgrim_9865
    @_fulgrim_9865 2 года назад +1

    Супер объяснение, спасибо за урок, помогли))

  • @enterkvas
    @enterkvas Год назад +1

    Огромное Вам спасибо!

  • @chev_chelios
    @chev_chelios 9 месяцев назад +1

    Классный урок!

  • @diasoralbekov6465
    @diasoralbekov6465 3 года назад +1

    оочень помогли,огромное спасибо!

  • @filipcorina
    @filipcorina 4 года назад +3

    mega kruto! Spasibo!

  • @moore4446
    @moore4446 2 года назад +2

    Спасибо вам большое!
    Пишу диплом и это первый ролик по js, в котором у меня действительно все получается, а главное ВСЁ ПОНЯТНО. Когда появлялась мысль "что-то не поняла", вы сразу в этот момент все объясняете подробно. И речь приятная, и, прозвучит странно, но какая-то домашняя спокойная обстановка ощущается и намного легче что-то запоминать. Рада, что наткнулась на этот канал.

  • @Asver_
    @Asver_ 4 года назад +2

    Александр, спасибо вам большое!!! Очень интересные и хорошо раскрытые у вас уроки!!!

  • @user-qh4zv9qc9h
    @user-qh4zv9qc9h 2 года назад +1

    Очень красиво))))

  • @user-rv9zc6di1z
    @user-rv9zc6di1z 4 года назад +3

    Спасибо, отличный пример, отличный урок)) Добавляем классу box еще анимацию на плавное появление и вообще то, что нужно!

  • @pavelrumyantsev626
    @pavelrumyantsev626 3 года назад +1

    Здравствуйте! Все отлично! Объясняете доступно и доходчиво. Не мне судить, но оценка 5+++++++. Еще раз спасибо за урок.

  • @nodirtashkuvatov
    @nodirtashkuvatov 3 года назад +2

    Спасибо огромное!!!

  • @windcrack8404
    @windcrack8404 Год назад +1

    Дякую, знайшов, що треба було.

  • @MaximPistun
    @MaximPistun 2 года назад +1

    Просто шикарно

  • @glebkabayjanov5646
    @glebkabayjanov5646 4 года назад +1

    воооо годнота подехала больше больше Jsa Александр

  • @siyisa13
    @siyisa13 2 месяца назад +1

    это шедевр

  • @unique_mind_system
    @unique_mind_system 3 года назад +2

    Спасибо за урок! Вы очень хорошо объясняете и с юмором) JS трудно даётся, но я стараюсь. У вас на курсы демократические и доступные цены, заметил что большая часть в открытом доступе, но наверное от обратной связи результат не заставит себя ждать. Раньше покупал курсы html,css,js, но в js очень сильно плаваю.

  • @user-gt1ky5mn1j
    @user-gt1ky5mn1j 3 года назад +1

    Спасибо большое

  • @user-tc1qq5nm3x
    @user-tc1qq5nm3x 3 года назад +1

    спасибо 😊

  • @user-js3sy2qv7m
    @user-js3sy2qv7m 4 года назад +3

    вот еще один канал где предоставляют актуальную и адекватную информацию . спасибо вам за это большое

    • @Learn-Dev_
      @Learn-Dev_ 4 года назад +1

      Если ещё один, то тогда какой первый? ))

  • @leto0leg
    @leto0leg 3 года назад +1

    Можно наверное toggle использовать, чтобы включать и выключать hide элементов?

  • @romanvinichenko1910
    @romanvinichenko1910 3 года назад

    Очень полезное видео, у меня была задача отфильтровать без использования Jquery

  • @user-bq6pk8pf3g
    @user-bq6pk8pf3g Год назад

    Пока не все понятно😁 но фильтр сделал, все работает. Спасибо.

  • @ivansafronov3359
    @ivansafronov3359 4 года назад +2

    Блин, как ты попал прям! У меня заказ висит, нигде не могу найти годный урок по фильтру товаров! А ты его прям в нужный момент выложил! Спасибо, продолжай практические уроки🙏

    • @svetlanabek5533
      @svetlanabek5533 4 года назад +2

      Заказы берёшь и не знаешь как сделать? А если никто не выложит решение? Что делать?

    • @ivansafronov3359
      @ivansafronov3359 4 года назад +2

      @@svetlanabek5533 самому решать, мне просто повезло, что он выложил. Он не сделал работу за меня, он её облегчил.

    • @vitaliy794
      @vitaliy794 4 года назад +3

      @@svetlanabek5533 я думаю в наше время к 98% задач уже есть готовое решение и нужно только уметь нагуглить) Так что можно смело брать любые заказы и делать с гуглом их легко.

    • @ivansafronov3359
      @ivansafronov3359 4 года назад +5

      @@vitaliy794 Вот вот, при чем даже автор этого канала сам говорил в нескольких роликов, что 90% времени программиста - это поиск информации и готового решения, чтоб уже под себя сделать!
      А с логикой "зачем брать готовое?" можно и фреймворками не пользоваться 😅

  • @user-zk5ok6wn2l
    @user-zk5ok6wn2l 4 года назад +1

    Круто! Продолжай в том же духе 👍

  • @jaloliddinhaqnazarov2667
    @jaloliddinhaqnazarov2667 Год назад +1

    Самый лучший

  • @khamidakhmedov248
    @khamidakhmedov248 4 года назад +1

    Респект

  • @nodirayakubova6395
    @nodirayakubova6395 4 года назад

    Офигенно обажаю ваши видео уроки все все понятно объесьняете

  • @eugeneshiyan
    @eugeneshiyan 3 года назад

    Всё круто

  • @KirillKlimov_lds
    @KirillKlimov_lds 4 года назад

    А как сделать, чтобы элементы исчезали при клике на самом прямоугольнике, а не на слове в навигации?

  • @4chan355
    @4chan355 2 года назад

    здравствуйте хотел спросить, делал все как по видео, в итоге фильтр работает но есть одна проблема когда применяется фильтр активные блоки не встают на верх, они просто стоят на своем месте как и со всеми блоками, можете помочь пожалуйста

  • @Makspachino
    @Makspachino 2 года назад +1

    А можно сделать не категории а метки, и что бы у каждой карточки было несколько меток?

  • @user-pn2ev2je2l
    @user-pn2ev2je2l 4 года назад

    Благодарю Вас за видео.

  • @serg1221
    @serg1221 3 года назад +1

    Увы, сейчас чтобы джуном по JS стать надо еще вчера было быть миддлом, на вакансии посмотри, так там под десяток технологий знать надо

  • @HackOFF
    @HackOFF 3 года назад +1

    Отличное решение и в тоже время два вопроса#
    1. Что будет если у пользователя отключен JS - Просто не увидит этих блоков?
    2. Как поисковики будут видеть эти блоки если их содержимое допустим карточки товаров?
    спасибо!

  • @user-wo8wd9kr1b
    @user-wo8wd9kr1b 4 года назад +1

    Спасибо. То что надо

  • @MihailAleshkin
    @MihailAleshkin 4 года назад +2

    Как вариант можно добавить тег в контейнер с блоками и в нем прописать display: none ко всем классам кроме выбранного. Тогда не придется перебирать все блоки.

    • @heyter1579
      @heyter1579 4 года назад +1

      можно, но анимации при исчезновений не будет, слишком громоздко будут изчезать

    • @alexey1946
      @alexey1946 Год назад

      А как прописать, что бы было кроме выбранного?

  • @asdasd-iv2ik
    @asdasd-iv2ik Год назад

    А можно ссылку на код?, у меня дивы по центру стоят, они не переходят влево страницы

  • @user-sn4ib9dt3e
    @user-sn4ib9dt3e Год назад

    А как реализовать множественный выбор?

  • @enterkvas
    @enterkvas Год назад

    Не работает класс hide (хотя и добавляется в класс, который должен удаляться). Оч долго бьюсь над этой проблемой. Прошу помощи.

  • @DioNis-eblix
    @DioNis-eblix 3 года назад

    Добрый день, подскажите пожалуйста, а если мне нужно реализовать так. Выборка идёт не по одному классу привязаному к div элементу, а по двум. Например если я ещё добавлю класс. Алгоритм будет работать? Мне нужно, что бы выборка элементов div работала по нескольким мне нужным параметрам.

    • @user-vq8cu3zd5y
      @user-vq8cu3zd5y Год назад

      Здравствуйте, получилось найти решение?

  • @el_grey
    @el_grey Месяц назад

    Без раздумий подписка

  • @q1dsdsdsq2dssdsd95
    @q1dsdsdsq2dssdsd95 4 года назад

    Зачем вы вручную код правите? Расскажите новичкам про prettier, вы же явно используете что-то такое на проектах или просто vscode расширение

  • @kirkir5533
    @kirkir5533 4 года назад +7

    Я бы с удовольствием посмотрел на реализацию фильтров через url(что бы фильтр настройки не сбрасывались) и с фейковыми данными(а не статика)

    • @itgid
      @itgid  4 года назад +2

      хорошая идея

  • @vasyarebryk9102
    @vasyarebryk9102 Год назад

    Маю завдання зробити фільтер як у сайта розетка. Як це зробити ?

  • @user-ql5wj5zi5t
    @user-ql5wj5zi5t 4 года назад

    как называется приложение на котором вы пишите сайты?

    • @green8106
      @green8106 4 года назад

      Там же написано, визуал студия

  • @Game-oz6gg
    @Game-oz6gg 3 года назад

    А обработчик может остановить событие?

  • @stalk4736
    @stalk4736 3 года назад +1

    Можно сделать фильтр для динамически созданных элементов?

    • @itgid
      @itgid  3 года назад

      Да можно

    • @stalk4736
      @stalk4736 3 года назад +1

      @@itgid спасибо

  • @grandmaster5318
    @grandmaster5318 4 года назад

    Нормально ли будет работать в других браузерах? Не проще ли взять готовую библиотеку?

    • @itgid
      @itgid  4 года назад +1

      GRANDMASTER вы путаете продакшен и обучение.

    • @grandmaster5318
      @grandmaster5318 4 года назад

      Понял

  • @ryadik_live
    @ryadik_live 4 года назад +1

    Здравствуйте, курс JS v2.0 Ещё актуален? Менторство ещё идет?

    • @ja-rusyn
      @ja-rusyn 3 года назад +1

      Да 🍒 ✌

    • @user-jv6vv9bk4e
      @user-jv6vv9bk4e 3 года назад

      @@ja-rusyn Спустя пол года....))))))

  • @geek7807
    @geek7807 3 года назад

    3:15 Очень маленькая придирка: не логичнее ли было border указывать в .box, а в классах по цветам определять, соответственно, только border-color?
    Очень режет глаз повторение 3px solid, тем более, что данный интерфейс не предполагает разную ширину и стиль бордера.

  • @user-kj7nz2mh3q
    @user-kj7nz2mh3q 3 года назад

    Планируете ли вести обучения на симуляторах? Вроде Мате Академия и Яндекс Практикум.

  • @flickeru8877
    @flickeru8877 Год назад

    А что с курсом и телегой, почему нет ни того ни другого?

    • @itgid
      @itgid  Год назад

      Все есть.
      Itgid.info
      Просто если вы с рф или рб то ваши провайдеры блокируют. Почему - к ним вопросы

    • @nik_user75
      @nik_user75 Год назад

      @@itgid не получается, хотел скачать пример, пишет файл не найден

  • @光荣归于习近平同志
    @光荣归于习近平同志 4 года назад

    А как сделать, чтобы при нажатии all тоже была анимация?

  • @plajboi3608
    @plajboi3608 4 года назад

    Что делать если нужен display none, но и анимация осталась ?

    • @awenn2015
      @awenn2015 3 года назад +1

      Ничего, display не работает с анимацией

    • @UchVuch
      @UchVuch Год назад

      Сначала убирать с анимацией, а потом добавлять с задержкой к этим элементам новый класс с display:none

    • @plajboi3608
      @plajboi3608 Год назад +2

      @@UchVuch азахах парни, ну вы чего) уже 2 года прошло, уже знаю)

    • @deterkot
      @deterkot Год назад

      Ничего, display не работает с анимацией

  • @aquilon1790
    @aquilon1790 3 года назад

    Я заметил, что почти везде фильтрация работает через запрос на сервер. Выставили фильтр - отправили запрос - получили ответ - отрисовали. Но этот метод используется в крупных магазинах, а как быть если задача сделать одностраничник для фотографа где будет большая галерея с фотографиями? Допустим 100 фотографий.. Не загружать же их все сразу, я уже всю голову сломал)

    • @awenn2015
      @awenn2015 3 года назад

      У меня есть решение на js , подключаю плагин, инициализирую галерею, и выставляю нужные параметры, кол-во фоток которые грузятся сначала и кнопка по которой можно подгружать следующие партии, если нужно можешь ответить скину исходники

    • @awenn2015
      @awenn2015 3 года назад

      Сейчас пилю сайт для своих плагинов что бы люди могли их качать спокойно

    • @UchVuch
      @UchVuch Год назад

      @@awenn2015 и как успехи, запилил сайт? :)

  • @user-wg9hu3eb6r
    @user-wg9hu3eb6r 2 года назад

    8:58

  • @nikolaydd6219
    @nikolaydd6219 3 года назад

    Красиво но бессмысленно. Где это реально можно применить?

    • @itgid
      @itgid  3 года назад

      на простых страницах где фильтрацию можно делать на клиенте.

    • @valerasho5874
      @valerasho5874 3 года назад

      Достаточно часто такое встречается на сайтах, например портфолио галерея, контент-галерея и прочее подобное, я исрользовал для этого mixitup плагин, но самому как оказалось писать всего то ничего)

  • @rogaldorn7016
    @rogaldorn7016 4 года назад

    Мне кажется, что было бы проще сделать генерацию элементов через JS или же реализовать названия классов по БЭМ.

    • @ticheroi
      @ticheroi 4 года назад +4

      сделай, поделись с комюнити, а мы зайдём и поставим тебе upvotes

  • @user-gt2yi7wg6p
    @user-gt2yi7wg6p 4 года назад

    Херня. Вы видели сам эффект при перестройке элементов? Чтобы такого дерганья не было элементы позиционируют absolute, вычисляют у каждого его будущую позицию и анимируют. После этого absolute убирают.

  • @vll1976
    @vll1976 4 года назад +1

    Чтобы сделать очередной дебильный недомагазин с одной страницей и с тремя товарами, где ничего нет, но то что есть красиво плавает по нажатию мышки. Также должна быть страница "About Us" с фотками спи3жеными с интернета с кикими-то левыми кентами сидящими в пафосных позах. Очень круто...