Как сделать живой поиск с помощью javascript
Если у вас есть страница, которая содержит много информации, лучше всего позволить пользователям искать то, что они, возможно, ищут.
Я не говорю о поиске в базах данных или даже о поиске данных JSON, я говорю о поиске буквального текста на одной визуализированной веб-странице.
Допустим, у нас есть список данных, как показано ниже:
<ul class=”list”> <li class=”data-list”>How to learn HTML & CSS</li> <li class=”data-list”>How to learn JavaScript</li> <li class=”data-list”>How to became Freelancer</li> <li class=”data-list”>How to became Web Designer</li> <li class=”data-list”>How to start Gaming Channel</li> <li class=”data-list”>How to start YouTube Channel</li> </ul>
Представьте, что на этой странице есть много списков данных.
Давайте добавим поисковый ввод с событием, которое происходит при взаимодействии с ним:
<input type=”search” placeholder=”search…“ id=”src” onkeyup=”searching()”>
И вот JavaScript, который делает все!
function searching(){ let input = document.getElementById("src").value input=input.toLowerCase(); let v = document.getElementsByClassName("data-list"); for (w = 0; w < v.length; w++) { if (!v[w].innerHTML.toLowerCase().includes(input)) { v[w].style.display="none"; }else{ v[w].style.display="block"; } } }
Вы, вероятно, могли бы просмотреть строку за строкой и выяснить, что он делает.
Когда срабатывает событие lookup, выполняется поиск по всем данным списка, определяя, есть ли текст в карточке или нет.
Если текст в списке не соответствует поисковому запросу, то добавляется атрибут display="none", в противном случае, если соответствует, добавляется атрибут display="block".
Чтобы убедиться, что наш JavaScript не работает слишком долго (что означает, что он будет замедлять работу страницы), вы можете добавить setInterval, не стесняйтесь редактировать его самостоятельно.
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.