购物车htmlcssjs代码
时间: 2025-01-01 18:32:03 浏览: 5
### 实现购物车功能的 HTML、CSS 和 JavaScript 代码
为了创建一个基本的在线购物车,可以按照以下结构编写 HTML、CSS 和 JavaScript。
#### HTML 结构
HTML 提供页面的基本框架和内容。下面是一个简单的商品列表以及用于显示总计的部分:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简易购物车</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="cart-container">
<table id="productTable">
<thead>
<tr>
<th></th><th>产品名称</th><th>单价</th><th>数量</th><th>总价</th>
</tr>
</thead>
<tbody>
<!-- 商品项 -->
<tr>
<td><input type="checkbox"></td>
<td>苹果</td>
<td>$2.99</td>
<td><input type="number" value="1"/></td>
<td>$2.99</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>香蕉</td>
<td>$0.75</td>
<td><input type="number" value="1"/></td>
<td>$0.75</td>
</tr>
</tbody>
</table>
<div class="summary">
已选商品:<span id="selectedTotal">0</span>件<br/>
合计金额:<span id="priceTotal">$0.00</span>
</div>
<button onclick="getTotal()">更新合计</button>
</div>
<script src="script.js"></script>
</body>
</html>
```
#### CSS 样式
通过 CSS 来美化网页布局并增强用户体验。这里提供了一个非常基础的例子来设置表格样式:
```css
.cart-container {
width: 60%;
margin-left: auto;
margin-right: auto;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
text-align: center;
padding: 8px;
border-bottom: 1px solid #ddd;
}
```
#### JavaScript 功能逻辑
JavaScript 负责处理交互行为,比如计算所选项目的总价格等操作。以下是 `getTotal` 函数的具体实现方式[^1]:
```javascript
function getTotal() {
let selected = 0;
let totalAmount = 0;
const rows = document.querySelectorAll('#productTable tbody tr');
for (let row of rows) {
const checkbox = row.querySelector('input[type=checkbox]');
if (!checkbox.checked) continue;
// 获取当前行的数量输入框值
const quantityInput = row.querySelector('input[type=number]').valueAsNumber || 0;
// 计算单个产品的子总额
const itemPriceText = row.cells[2].textContent.replace('$', '');
const itemUnitPrice = parseFloat(itemPriceText);
const subTotal = itemUnitPrice * quantityInput;
// 更新统计变量
selected += quantityInput;
totalAmount += subTotal;
}
// 显示最终的结果到页面上
document.getElementById('selectedTotal').innerText = selected;
document.getElementById('priceTotal').innerText = `$${totalAmount.toFixed(2)}`;
}
```
此示例展示了如何利用 HTML 创建表单元素表示商品;使用 CSS 定义这些元素外观;最后借助于 JavaScript 编写脚本来响应用户的动作,并动态调整界面中的数据展示。
阅读全文