JavaScript 商品筛选是一种常见的前端功能,它允许用户根据特定条件(如价格、品牌、类别等)来过滤和显示商品列表。以下是关于这个问题的详细解答:
商品筛选是指在电子商务网站或应用中,用户可以通过设置不同的筛选条件来查找他们感兴趣的商品。这些条件可能包括价格范围、品牌、尺寸、颜色、评分等。
以下是一个简单的JavaScript商品筛选示例:
<!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="search" placeholder="搜索商品...">
<select id="category">
<option value="">所有类别</option>
<option value="电子产品">电子产品</option>
<option value="服装">服装</option>
<option value="食品">食品</option>
</select>
<ul id="product-list">
<!-- 商品列表 -->
<li data-name="iPhone 12" data-category="电子产品">iPhone 12</li>
<li data-name="MacBook Pro" data-category="电子产品">MacBook Pro</li>
<li data-name="T恤" data-category="服装">T恤</li>
<li data-name="牛仔裤" data-category="服装">牛仔裤</li>
<li data-name="巧克力" data-category="食品">巧克力</li>
</ul>
<script>
document.getElementById('search').addEventListener('input', filterProducts);
document.getElementById('category').addEventListener('change', filterProducts);
function filterProducts() {
const searchValue = document.getElementById('search').value.toLowerCase();
const categoryValue = document.getElementById('category').value;
const products = document.querySelectorAll('#product-list li');
products.forEach(product => {
const productName = product.getAttribute('data-name').toLowerCase();
const productCategory = product.getAttribute('data-category');
if ((searchValue && !productName.includes(searchValue)) ||
(categoryValue && productCategory !== categoryValue)) {
product.style.display = 'none';
} else {
product.style.display = 'list-item';
}
});
}
</script>
</body>
</html>
通过以上方法,可以有效实现和优化JavaScript商品筛选功能。
领取专属 10元无门槛券
手把手带您无忧上云