用jQuery写一个京东购物车
时间: 2023-05-24 19:03:56 浏览: 110
基于jQuery实现模仿京东侧边购物车菜单特效源码.zip
A:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>京东购物车</title>
<link href="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js" rel="stylesheet">
</head>
<body>
<table id="cart">
<thead>
<tr>
<th>商品</th>
<th>单价</th>
<th>数量</th>
<th>小计</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>小米电视</td>
<td class="price">1999</td>
<td><input class="num" type="number" value="1" min="1"></td>
<td class="subtotal"></td>
<td><button class="delete">删除</button></td>
</tr>
<tr>
<td>华为手机</td>
<td class="price">3999</td>
<td><input class="num" type="number" value="1" min="1"></td>
<td class="subtotal"></td>
<td><button class="delete">删除</button></td>
</tr>
<tr>
<td>华硕笔记本</td>
<td class="price">5999</td>
<td><input class="num" type="number" value="1" min="1"></td>
<td class="subtotal"></td>
<td><button class="delete">删除</button></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3"></td>
<td id="total"></td>
<td><button id="clear">清空购物车</button></td>
</tr>
</tfoot>
</table>
<script src="cart.js"></script>
</body>
</html>
```
JavaScript代码:
```javascript
$(function() {
// 计算小计和总价
function calculate() {
// 遍历所有商品行
$("#cart tbody tr").each(function() {
// 获取单价、数量和小计元素
var priceEl = $(this).find(".price");
var numEl = $(this).find(".num");
var subtotalEl = $(this).find(".subtotal");
// 计算小计
var price = parseFloat(priceEl.text());
var num = parseInt(numEl.val());
var subtotal = price * num;
// 更新小计元素
subtotalEl.text(subtotal.toFixed(2));
});
// 计算总价
var total = 0;
$(".subtotal").each(function() {
total += parseFloat($(this).text());
});
// 更新总价元素
$("#total").text(total.toFixed(2));
}
// 绑定数量输入框的change事件
$(".num").on("change", function() {
calculate();
});
// 绑定删除按钮的click事件
$(".delete").on("click", function() {
$(this).parents("tr").remove();
calculate();
});
// 绑定清空购物车按钮的click事件
$("#clear").on("click", function() {
$("#cart tbody").empty();
calculate();
});
// 初始化小计和总价
calculate();
});
```
阅读全文