要求:商店表中包括商品,单价(元),颜色,库存,好评率,操作包括加入购物车和删除,购物车中包括商品,单价,数量,金额(元),删除,和总计,在商品表中还要加一个全选按钮,可以使全选表中的所有商品加到购物车中 1:商店和购物车页面同时显示 2:点击商店中的“加入购物车”按钮,相关数据出现在购物车页面中 3:点击商店中的“删除”按钮,可以删掉商店中相应的行 4:点击全选按钮,商店页面中的数据全部添加到购物车页面中 5:数据添加后 购物车页面中的“总计”随着添加/删除相应的数据而发生增加和减少 6:购物车页面中的数量 “+”按钮和商店页面中的“加入购物车”按钮功能一样,都可以进行添加数量 7:购物车页面中的删除“X”按钮,可以删除对应的行
时间: 2024-04-10 11:33:37 浏览: 75
jquery-实现仿天猫点击加入购物车商品飞入购物车.zip
以下是使用HTML和JavaScript实现您的要求的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>商店和购物车</title>
<style>
table {
width: 100%;
border-collapse: collapse;
}
table th, table td {
border: 1px solid black;
padding: 8px;
}
#cart {
margin-top: 20px;
}
#cart th, #cart td {
border: 1px solid black;
padding: 8px;
}
.total {
font-weight: bold;
}
</style>
</head>
<body>
<h2>商店</h2>
<table id="shop">
<tr>
<th><input type="checkbox" id="selectAll" onchange="selectAllItems()"></th>
<th>商品</th>
<th>单价(元)</th>
<th>颜色</th>
<th>库存</th>
<th>好评率</th>
<th>操作</th>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>商品1</td>
<td>10</td>
<td>红色</td>
<td>10</td>
<td>90%</td>
<td><button onclick="addToCart(this)">加入购物车</button></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>商品2</td>
<td>20</td>
<td>蓝色</td>
<td>5</td>
<td>95%</td>
<td><button onclick="addToCart(this)">加入购物车</button></td>
</tr>
<!-- 其他商品行 -->
</table>
<h2>购物车</h2>
<table id="cart">
<tr>
<th>商品</th>
<th>单价(元)</th>
<th>数量</th>
<th>金额(元)</th>
<th>操作</th>
</tr>
</table>
<script>
function addToCart(button) {
var row = button.parentNode.parentNode;
var product = row.cells[1].innerHTML;
var price = parseFloat(row.cells[2].innerHTML);
var cartTable = document.getElementById("cart");
var newRow = cartTable.insertRow(-1);
var productName = newRow.insertCell(0);
productName.innerHTML = product;
var productPrice = newRow.insertCell(1);
productPrice.innerHTML = price.toFixed(2);
var quantity = newRow.insertCell(2);
quantity.innerHTML = 1;
var amount = newRow.insertCell(3);
amount.innerHTML = price.toFixed(2);
var deleteButton = newRow.insertCell(4);
deleteButton.innerHTML = "<button onclick='deleteRow(this)'>删除</button>";
updateTotal();
}
function deleteRow(button) {
var row = button.parentNode.parentNode;
row.parentNode.removeChild(row);
updateTotal();
}
function selectAllItems() {
var selectAllCheckbox = document.getElementById("selectAll");
var checkboxes = document.querySelectorAll("#shop input[type='checkbox']");
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = selectAllCheckbox.checked;
}
}
function updateTotal() {
var cartTable = document.getElementById("cart");
var rows = cartTable.rows;
var total = 0;
for (var i = 1; i < rows.length; i++) {
var amountCell = rows[i].cells[3];
var amount = parseFloat(amountCell.innerHTML);
total += amount;
}
var totalRow = cartTable.insertRow(-1);
totalRow.classList.add("total");
var totalLabel = totalRow.insertCell(0);
totalLabel.colSpan = 3;
totalLabel.innerHTML = "总计";
var totalAmount = totalRow.insertCell(1);
totalAmount.innerHTML = total.toFixed(2);
}
</script>
</body>
</html>
```
请注意,此示例代码仅为演示目的,可能需要根据实际需求进行修改和优化。
阅读全文