所属分类:web前端开发
如何使用Layui开发一个支持标签搜索的商城商品分类页面
随着互联网的发展,电子商务已成为一种常见的购物方式。在一个商城中,对商品进行分类是十分重要的,这有助于用户快速找到自己想要的商品。而在商品分类页面中,为了提供更好的用户体验,支持标签搜索功能是一种不错的选择。本文将介绍如何使用Layui开发一个支持标签搜索的商城商品分类页面,并提供具体代码示例。
Layui是一款轻量级的前端UI框架,易用、易上手。它提供了丰富的组件,包括表格、下拉框等。使用Layui开发商城商品分类页面,可以快速实现页面的布局和交互效果。下面是一个示例项目的目录结构:
- index.html - js - layui.js - category.js - jquery.min.js - css - layui.css - category.css
首先,在index.html文件中引入Layui的相关文件:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>商城商品分类页面</title> <link rel="stylesheet" href="css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md8"> <div class="layui-collapse" lay-accordion> <!-- 商品分类列表 --> <div class="layui-colla-item"> <h2 class="layui-colla-title">电子产品</h2> <div class="layui-colla-content layui-show"> <!-- 商品列表 --> <div id="productList" class="layui-row"></div> </div> </div> </div> </div> <div class="layui-col-md4"> <!-- 标签搜索 --> <div class="layui-card"> <div class="layui-card-header">标签搜索</div> <div class="layui-card-body"> <input type="text" id="searchTag" class="layui-input" placeholder="请输入标签"> <button class="layui-btn layui-btn-sm" onclick="searchByTag()">搜索</button> </div> </div> </div> </div> </div> <script src="js/jquery.min.js"></script> <script src="js/layui.js"></script> <script src="js/category.js"></script> </body> </html>
在category.js文件中编写JavaScript逻辑代码,用于动态加载和搜索商品数据:
// 商品分类数据 var categoryData = [ { name: "手机", products: [ { name: "iPhone X", tags: ["高端", "苹果"] }, { name: "小米10", tags: ["性价比高", "小米"] }, { name: "华为P40", tags: ["华为"] } ] }, { name: "电视", products: [ { name: "小米电视", tags: ["性价比高", "小米"] }, { name: "创维电视", tags: ["创维"] }, { name: "索尼电视", tags: ["索尼"] } ] } ]; // 根据标签搜索商品 function searchByTag() { var tag = $("#searchTag").val(); var productList = ""; categoryData.forEach(function(category) { category.products.forEach(function(product) { if (product.tags.indexOf(tag) !== -1) { productList += "<div class='layui-col-md3'>" + product.name + "</div>"; } }); }); $("#productList").html(productList); } // 加载商品分类列表 function loadCategory() { categoryData.forEach(function(category) { var categoryItem = "<div class='layui-colla-item'>" + "<h2 class='layui-colla-title'>" + category.name + "</h2>" + "<div class='layui-colla-content'>" + "<div class='layui-row'>"; category.products.forEach(function(product) { categoryItem += "<div class='layui-col-md3'>" + product.name + "</div>"; }); categoryItem += "</div></div></div>"; $(".layui-collapse").append(categoryItem); }); } $(function() { loadCategory(); });
在category.css文件中定义页面的样式:
.layui-container { padding: 20px; } .layui-row { margin: 10px 0; } .layui-col-md8 { padding-right: 10px; } .layui-card { margin-bottom: 10px; } #searchTag { width: 200px; display: inline-block; }