Rumah > hujung hadapan web > tutorial js > Cara membuat senarai produk dengan fungsi penapisan dan pengisihan menggunakan HTML, CSS dan jQuery

Cara membuat senarai produk dengan fungsi penapisan dan pengisihan menggunakan HTML, CSS dan jQuery

WBOY
Lepaskan: 2023-10-27 18:45:50
asal
1082 orang telah melayarinya

Cara membuat senarai produk dengan fungsi penapisan dan pengisihan menggunakan HTML, CSS dan jQuery

Cara membuat senarai produk dengan fungsi penapisan dan pengisihan menggunakan HTML, CSS dan jQuery

在现代的网页设计中,一个常见的功能要求是带有筛选和排序功能的产品列表。这个功能可以让用户根据自己的需求快速找到所需的产品。在本篇文章中,我将介绍如何使用HTML、CSS和jQuery来创建一个带有筛选和排序功能的产品列表,并附带具体的代码示例。

首先,我们需要创建一个基本的HTML结构来展示产品列表。下面是一个简单的HTML结构示例:

<div class="product-list">
    <div class="product">
        <h3>产品1</h3>
        <p>这是产品1的描述。</p>
        <span class="price">$10</span>
        <span class="category">电子产品</span>
    </div>
    <div class="product">
        <h3>产品2</h3>
        <p>这是产品2的描述。</p>
        <span class="price">$20</span>
        <span class="category">服装</span>
    </div>
    <div class="product">
        <h3>产品3</h3>
        <p>这是产品3的描述。</p>
        <span class="price">$15</span>
        <span class="category">电子产品</span>
    </div>
    <!-- 更多产品... -->
</div>
Salin selepas log masuk

在上述代码中,我们使用<div>元素来表示每个产品,并在其中包含了标题、描述、价格和类别等信息。这个HTML结构可以根据实际需求进行修改。

接下来,我们需要用CSS来设置一些样式,使产品列表更加美观。下面是一个简单的CSS示例:

.product-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
}

.product {
    border: 1px solid #ccc;
    padding: 10px;
    text-align: center;
}

.price {
    font-weight: bold;
    color: red;
}

.category {
    background-color: #ccc;
    border-radius: 5px;
    padding: 5px;
}
Salin selepas log masuk

在上述CSS代码中,我们使用了CSS Grid布局来创建一个网格化的产品列表。每个产品都具有一个边框、内边距和居中对齐的文本。

现在,我们需要使用jQuery来实现筛选和排序的功能。下面是一个具体的代码示例:

$(document).ready(function() {
  // 默认显示所有产品
  $('.product').show();

  // 筛选功能
  $('#filter').change(function() {
    var category = $(this).val();
    
    // 如果选择了“全部”选项,则显示所有产品
    if (category === 'all') {
      $('.product').show();
    } else {
      $('.product').hide();
      $('.product .category:contains("' + category + '")').parent().show();
    }
  });

  // 排序功能
  $('#sort').change(function() {
    var sortBy = $(this).val();
    
    if (sortBy === 'price-low') {
      $('.product-list').append($('.product').sort(function(a, b) {
        return $(a).find('.price').text().replace('$', '') - $(b).find('.price').text().replace('$', '');
      }));
    } else if (sortBy === 'price-high') {
      $('.product-list').append($('.product').sort(function(a, b) {
        return $(b).find('.price').text().replace('$', '') - $(a).find('.price').text().replace('$', '');
      }));
    }
  });
});
Salin selepas log masuk

在上述JavaScript代码中,我们使用了jQuery来监听筛选和排序的变化。当筛选条件改变时,我们通过选择器和contains方法来显示符合条件的产品。当排序条件改变时,我们使用sort方法来对产品进行排序,并将排好序的产品重新添加到产品列表中。

最后,我们只需要在HTML中添加筛选和排序的控件即可。下面是一个简单的示例:

<select id="filter">
  <option value="all">全部</option>
  <option value="电子产品">电子产品</option>
  <option value="服装">服装</option>
  <option value="家居用品">家居用品</option>
</select>

<select id="sort">
  <option value="">无</option>
  <option value="price-low">价格从低到高</option>
  <option value="price-high">价格从高到低</option>
</select>

<div class="product-list">
  <!-- 产品列表 -->
</div>
Salin selepas log masuk

在上述代码中,我们使用<select></select>元素来创建筛选和排序的下拉框。

通过以上步骤,我们成功创建了一个带有筛选和排序功能的产品列表。用户可以根据自己的需求筛选和排序产品,以便更快地找到所需的产品。当然,根据实际需求,我们还可以添加更多的功能和样式,使产品列表更加完善和易用。

希望本文对你理解Cara membuat senarai produk dengan fungsi penapisan dan pengisihan menggunakan HTML, CSS dan jQuery有所帮助。感谢阅读!

Atas ialah kandungan terperinci Cara membuat senarai produk dengan fungsi penapisan dan pengisihan menggunakan HTML, CSS dan jQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan