Rumah  >  Artikel  >  hujung hadapan web  >  Cara membuat kotak carian dengan kesan dinamik menggunakan HTML, CSS dan jQuery

Cara membuat kotak carian dengan kesan dinamik menggunakan HTML, CSS dan jQuery

王林
王林asal
2023-10-25 10:28:571161semak imbas

Cara membuat kotak carian dengan kesan dinamik menggunakan HTML, CSS dan jQuery

Cara menggunakan HTML, CSS dan jQuery untuk mencipta kotak carian dengan kesan dinamik

Dalam pembangunan web moden, keperluan biasa Adalah untuk buat kotak carian dengan kesan dinamik. Kotak carian ini boleh memaparkan cadangan carian dalam masa nyata dan melengkapkan kata kunci secara automatik semasa pengguna menaip. Artikel ini akan memperkenalkan secara terperinci cara menggunakan HTML, CSS dan jQuery untuk melaksanakan kotak carian sedemikian.

  1. Buat struktur HTML

Pertama, kita perlu mencipta struktur HTML asas. Kodnya adalah seperti berikut:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>动态搜索框</title>
  <link rel="stylesheet" href="styles.css">
</head>

<body>
  <div class="container">
    <h1>动态搜索框</h1>
    <input type="text" id="search-input" placeholder="请输入关键词">
    <ul id="suggestion-list"></ul>
  </div>

  <script src="jquery.min.js"></script>
  <script src="script.js"></script>
</body>

</html>

Struktur HTML ini mengandungi div bekas, yang termasuk tajuk dan kotak input untuk carian. Kami juga mencipta elemen ul untuk memaparkan cadangan carian.

  1. Tulis gaya CSS

Seterusnya, kita perlu menulis gaya CSS untuk menambah beberapa gaya asas pada kotak carian untuk menjadikannya kelihatan seperti Lagi cantik. Kodnya adalah seperti berikut:

.container {
  max-width: 500px;
  margin: 0 auto;
  padding: 20px;
  text-align: center;
}

h1 {
  font-size: 24px;
}

input[type="text"] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-bottom: 10px;
}

#suggestion-list {
  text-align: left;
  list-style-type: none;
  padding: 0;
  display: none;
}

#suggestion-list li {
  padding: 10px;
  background-color: #f2f2f2;
  cursor: pointer;
}

#suggestion-list li:hover {
  background-color: #e3e3e3;
}

Gaya CSS ini menambah gaya yang sesuai pada bekas, tajuk, kotak input dan senarai cadangan carian untuk menjadikannya kelihatan lebih profesional.

  1. Tambah fungsi cadangan carian

Kini kita perlu menggunakan jQuery untuk melaksanakan fungsi cadangan carian. Kodnya adalah seperti berikut:

$(document).ready(function() {
  $('#search-input').keyup(function() {
    var keyword = $(this).val();
    if (keyword !== '') {
      $.ajax({
        url: 'suggestion.php',
        type: 'POST',
        data: { keyword: keyword },
        success: function(data) {
          if (data.trim() !== '') {
            $('#suggestion-list').html(data).show();
          } else {
            $('#suggestion-list').html('').hide();
          }
        }
      });
    } else {
      $('#suggestion-list').html('').hide();
    }
  });

  $(document).on('click', '#suggestion-list li', function() {
    var suggestion = $(this).text();
    $('#search-input').val(suggestion);
    $('#suggestion-list').html('').hide();
  });
});

Kod ini mula-mula mendengar acara papan kekunci kotak input Apabila pengguna memasukkan, ia menggunakan AJAX untuk menghantar permintaan ke fail belakang yang bernama suggestion.php dan menambah kunci yang dimasukkan oleh pengguna. Perkataan dihantar ke bahagian belakang. Bahagian belakang akan mengembalikan cadangan carian yang sepadan, dan kemudian bahagian hadapan akan mengemas kini senarai cadangan carian secara dinamik berdasarkan data yang dikembalikan.

Apabila pengguna mengklik pada item dalam senarai cadangan carian, kandungan item tersebut akan diisi dalam kotak input dan senarai cadangan carian akan disembunyikan.

  1. Tulis kod hujung belakang (suggestion.php)

Untuk kod hujung belakang, kita boleh menggunakan PHP atau bahasa sebelah pelayan yang lain untuk melaksanakannya. Di sini kami mengambil PHP sebagai contoh untuk menunjukkan kod sampel mudah:

<?php
$keyword = $_POST['keyword'];

// 从数据库或其他数据源获取搜索建议
$suggestions = array(
  '苹果',
  '香蕉',
  '橙子',
  '草莓',
  '葡萄',
  '西瓜',
  '梨',
  '柚子'
);

$output = '';
foreach ($suggestions as $s) {
  if (strpos($s, $keyword) !== false) {
    $output .= '<li>' . $s . '</li>';
  }
}

echo $output;
?>

Kod ini menerima kata kunci yang diluluskan oleh bahagian hadapan dan mendapatkan cadangan carian yang sepadan daripada pangkalan data atau sumber data lain berdasarkan kata kunci. Kemudian cadangan disambungkan ke dalam item senarai HTML dalam format yang diperlukan dan dikembalikan ke bahagian hadapan.

  1. Run

Selepas menyimpan kod di atas sebagai fail yang sepadan dan mengimport pustaka CSS dan JavaScript yang sepadan, buka penyemak imbas untuk menjalankan HTML fail, Anda akan melihat kotak carian dengan kesan dinamik.

Ringkasan

Dengan menggunakan HTML, CSS dan jQuery, kami boleh mencipta kotak carian dengan kesan dinamik dengan mudah. Dengan memantau input pengguna, menghantar permintaan AJAX ke bahagian belakang untuk mendapatkan cadangan carian, dan mengemas kini senarai cadangan carian secara dinamik, pengguna boleh memilih cadangan carian dengan mudah atau terus memasukkan kata kunci untuk dicari. Kotak carian ini boleh digunakan dalam fungsi carian pelbagai laman web untuk memberikan pengguna pengalaman yang lebih baik.

Atas ialah kandungan terperinci Cara membuat kotak carian dengan kesan dinamik menggunakan HTML, CSS dan jQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn