Живой поиск — это функционал, который позволяет пользователям получать результаты поиска в реальном времени, по мере ввода текста в поле поиска. Это улучшает пользовательский опыт и может помочь увеличить время пребывания на вашем сайте. В этой статье мы рассмотрим, как добавить на сайт функционал живого поиска с использованием JavaScript и AJAX.
Станьте веб-разработчиком с нуля за 15 месяцев на курсе онлайн-университета Skypro. Преподаватели — практикующие эксперты из VK, «Альфа-Банка», Skyeng и других крупных компаний. В программе нет лишней теории, зато много практических заданий, а результаты курсовых можно положить в портфолио. Специалисты центра карьеры помогут с резюме, сопроводительными письмами и собеседованиями.
Шаг 1: Создание HTML-структуры
Для начала нам нужно создать HTML-структуру страницы. Вам потребуется поле для ввода текста и контейнер для отображения результатов поиска:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Живой поиск</title>
</head>
<body>
    <input type="text" id="searchInput" placeholder="Введите текст для поиска...">
    <div id="searchResults"></div>
</body>
</html>
Шаг 2: Написание JavaScript-кода
Теперь нам нужно написать JavaScript-код, который будет выполнять поиск и отображать результаты. Мы будем использовать fetch для отправки AJAX-запроса на сервер и получения результатов поиска:
const searchInput = document.getElementById('searchInput');
const searchResults = document.getElementById('searchResults');
searchInput.addEventListener('input', (e) => {
    const searchText = e.target.value;
    if (searchText.trim() === '') {
        searchResults.innerHTML = '';
        return;
    }
    fetch(`/search?q=${searchText}`)
        .then((response) => response.json())
        .then((results) => {
            searchResults.innerHTML = results.map((result) => `
                <div>
                    <h3>${result.title}</h3>
                    <p>${result.description}</p>
                </div>
            `).join('');
        });
});
📘 В этом примере мы используем fetch для отправки запроса на сервер. Вам нужно будет настроить сервер таким образом, чтобы он обрабатывал эти запросы и возвращал результаты в формате JSON.
На курсе Skypro «Веб-разработчик» освоите JavaScript, GitHub, Tilda, Postman, HTML, CSS и другие программы и инструменты, научитесь решать реальные задачи разработчика и работать в команде. Все учебные проекты можно положить в портфолио и устроиться на работу по новой специальности еще в процессе обучения.
Шаг 3: Стилизация результатов поиска
Последний шаг — добавить немного стилей для улучшения внешнего вида результатов поиска. Для этого добавьте следующий CSS-код в раздел <head> вашего HTML-файла:
<style>
    #searchInput {
        width: 100%;
        padding: 8px;
        font-size: 16px;
    }
    #searchResults {
        margin-top: 16px;
    }
    #searchResults div {
        padding: 8px;
        border-bottom: 1px solid #ccc;
    }
    #searchResults h3 {
        margin: 0;
        font-size: 18px;
    }
</style>
Теперь у вас есть функциональный живой поиск на вашем сайте! 🎉 Это основы того, как реализовать живой поиск, однако вы можете улучшить его, добавив дополнительные функции, такие как подсветка совпадений, пагинацию и т. д.
Не забывайте тестировать и адаптировать код под ваш проект и серверную часть. Удачной разработки!
                    
                                            Перейти в телеграм, чтобы получить результаты теста
                                        






            
            
        
                    Забрать
Добавить комментарий