一个小小的分类页面练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>分类</title>
		<script src="./js/jquery-3.7.0.js"></script>
		<link rel="stylesheet" href="./css/classify.css" />
	</head>
	<body>
		<!-- 分页头部 -->
		<div class="head">
			<p>商品分类</p>
		</div>
		<!-- 15商品分类-列表
 -->
		<div class="content">
			<div class="content_left". id="content_con">
				<!-- <div class="content_con" onclick="proCli(event)">
					<img src="./img/10002.png" alt="" onerror="good(event)"/>
					<p>商品1</p>
				</div> -->
			</div>
			<!-- 16.商品分类-商品
			-->
			<div class="goods_list" id="goods_list" onclick="iteng()">
				<!-- <div class="product" onclick="proCli()" id="product">
					<div class="img_goods">
						<img src="./img/10002.jpg" />
					</div>
					<p>xxxxxxxx(商品介绍)</p>
					<div class="text_goods">
						<p style="color: red;">16666$</p>
						<p style="color: gray;">库存</p>
					</div>
				</div> -->
			</div>
			
			
		</div>

		<!-- 首页 /分类 /购物车/我的-->
		<div class="footer">
			<a href="./home.html">
				<div class="bar">
					<img src="./img/10002 (1).png" alt="" />
					<p>首页</p>
				</div>
			</a>
			<a>
				<div class="bar">
					<img src="./img/10021.png" />
					<p style="color: red;">分类</p>
				</div>
			</a>
			<a>
				<div class="bar">
					<img src="img/10008.png" />
					<p>购物车</p>
				</div>
			</a>
			<a>
				<div class="bar">
					<img src="img/10006.png" />
					<p>我的</p>
				</div>
			</a>
		</div>
		<div id="hint">提示</div>
		<script src="./js/classify.js"></script>
	</body>
</html>

这是一个简单的电商网站中的商品分类页面,以下是分类页面代码的详细介绍:

1. ```<meta charset="utf-8" />```指定编码格式为UTF-8。

2. ```<meta name="viewport" content="width=device-width, initial-scale=1">```设置viewport适配移动设备。

3. ```<title>分类</title>```设置页面标题为“分类”。

4. ```<script src="./js/jquery-3.7.0.js"></script>```引入jQuery库。

5. ```<link rel="stylesheet" href="./css/classify.css" />```引入分类页面所用到的CSS文件。

6. ```<div class="head">```页面头部,包含一个“商品分类”的标题。

7. ```<div class="content">```页面内容部分,包含两个部分,一个是商品分类的列表,另一个是商品列表。

8. ```<div class="content_left". id="content_con">```商品分类的列表部分,包含了所有的商品分类列表。

9. ```<div class="goods_list" id="goods_list" οnclick="iteng()">```商品列表部分,包含了所有该分类下的商品。

10. ```<div class="footer">```页面底部,包含了四个链接,分别是:首页、分类、购物车、我的。

11. ```<div id="hint">提示</div>```页面提示框,用于显示一些提示信息。

12. ```<script src="./js/classify.js"></script>```引入分类页面所用到的JavaScript文件。

$.ajax({
	type: "post", // 发送的HTTP请求类型为POST
	url:请求的URL地址
	success: function(res) {
		// 请求成功的回调函数
		if (res.code == 1) {
			console.log(res);
			contentData(res.data); // 调用contentData函数并传递响应数据
		} else {
			console.log("请求失败");
			// 请求失败的处理逻辑
		}
	},
	error: function(resi) {
		// 请求失败的回调函数
		if (resi.code == 1) {
			console.log(resi);
			contentData(resi.data); // 调用contentData函数并传递响应数据
		} else {
			console.log("请求失败");

			function goods(e) {
				// 图片加载失败的处理函数
				e.target.src = "./img/10014 (1).jpg";
			}
			// 请求失败的处理逻辑
		}
	}
});

function contentData(data) {
	// 处理商品内容数据的函数
	console.log(data);
	let str = '';
	for (let i = 0; i < 10; i++) {
		str += `
		<div class="content_con" onclick="productData(event,${data[i].id})">
			<img src="${data[i].imgs}" alt="" onerror="good(event)" onerror="goods(event)"/>
			<p>${data[i].name}</p>
		</div>`;
	}
	$('#content_con').html(str); // 将处理结果插入到指定的DOM元素中
}



function productData(event, index) {
	// 处理商品数据的函数
	let element = event.currentTarget;
	$('.content_con').removeClass('clicked');
	$(element).addClass('clicked');
	console.log(index);
	$.ajax({
		type: "post",
		url: 请求的URL地址
		data: {
			id: index // 将red.value作为id传递给请求数据
		},
		success: function(res) {
			// 请求成功的回调函数
			console.log(res);
			if (res.code == 1) {
				goodsCode(res.data);
			} else {
				console.log("请求失败");
				// 请求失败的处理逻辑
				console.log(res);
				console.log(1)

				let str = `
						<img src="./img/10002 (1).png" alt="" />`;
				
				$('#goods_list').html(str);
			}

		},
		error: function(xhr, status, error) {
			console.error(error);
			// 请求失败的回调函数
			// 错误处理逻辑
			if (res.code == 0) {
				// 处理错误逻辑
				goodsCode(item);

				function goods(e) {
					// 图片加载失败的处理函数
					e.target.src = "./img/10014 (1).jpg";
				}
			} else {
				console.log("请求失败");
				// 请求失败的处理逻辑

				console.log(res);
			}
		}
	});
}

function good(e) {
	// 图片加载失败的处理函数
	e.target.src = "./img/10014 (1).jpg";
}

function goodsCode(item) {
	// 处理商品编码的函数
	console.log(item);
	let str = '';
	for (let i = 0; i < item.length; i++) {
		str += `
		<div class="product" onclick="proCli()" id="product">
			<div class="img_goods">
				<img src="${item[i].imgs}" onerror="good(event)"  onclick="iteng(event)"/>
			</div>3
			<p>${item[i].introduce}</p>
			<div class="text_goods">
				<p style="color: red;">¥${item[i].price}</p>
				<p style="color: gray;">${item[i].stock}</p>
			</div>
		</div>`;
	}
	$('#goods_list').html(str); // 将处理结果插入到指定的DOM元素中
}

function iteng(e) {
	let str = '';
	for (let i = 0; i < item.length; i++) {
		str += `<img src="${item[i].imgs}" onerror="iteng(event)"  />`;
	}
	$('#goods_list').html(str); // 将处理结果插入到指定的DOM元素中
}

这段代码是一个使用 jQuery 的 AJAX 请求,它通过 POST 请求获取指定 URL 的数据。在请求成功时,会执行 success 函数,通过对响应数据进行处理后,将处理结果插入到指定的 DOM 元素中。在请求失败时,会执行 error 函数,处理错误情况,如图片加载失败等。具体步骤如下:

1. 点击内容中的商品,触发 productData 函数,并将点击的商品 ID 作为参数传递给它。
2. productData 函数通过 AJAX POST 请求获取指定 ID 对应的商品数据,请求成功后,将商品数据传递给 goodsCode 函数进行处理。
3. goodsCode 函数将商品数据通过循环处理后,生成 HTML 格式的商品列表,并将结果插入到指定的 DOM 元素中。

整个过程中,利用了 jQuery 的 AJAX 请求和 DOM 操作等核心功能,以及 JavaScript 中的循环、条件判断等基础语法,实现了动态加载商品列表的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值