在JavaScript中实现购物车计算,通常涉及到几个基础概念:数据结构(如数组、对象)、DOM操作(用于更新页面显示)、以及基本的算术运算。购物车计算主要包括商品数量的增减、单价与数量的乘积计算(即小计)、以及所有商品小计的总和(即总价)。
以下是一个简单的购物车计算示例:
<div id="cart">
<div class="cart-item">
<span>商品1</span>
<input type="number" value="1" class="quantity">
<span class="price">100</span>
<span class="subtotal">100</span>
</div>
<div class="cart-item">
<span>商品2</span>
<input type="number" value="1" class="quantity">
<span class="price">200</span>
<span class="subtotal">200</span>
</div>
<!-- 更多商品项 -->
<div class="total">总价: <span id="totalPrice">300</span></div>
</div>
// 获取所有购物车项
const cartItems = document.querySelectorAll('.cart-item');
// 计算总价
function calculateTotal() {
let total = 0;
cartItems.forEach(item => {
const quantity = parseInt(item.querySelector('.quantity').value);
const price = parseFloat(item.querySelector('.price').textContent);
const subtotal = quantity * price;
item.querySelector('.subtotal').textContent = subtotal.toFixed(2);
total += subtotal;
});
document.getElementById('totalPrice').textContent = total.toFixed(2);
}
// 监听数量输入框的变化
cartItems.forEach(item => {
item.querySelector('.quantity').addEventListener('input', calculateTotal);
});
// 初始化总价
calculateTotal();
.cart-item
)包含商品名称、数量输入框(.quantity
)、单价(.price
)和小计(.subtotal
)。总价(#totalPrice
)显示在购物车底部。calculateTotal
函数遍历所有购物车项,计算每个商品的小计(数量乘以单价),并更新总价。input
事件监听器,当数量变化时重新计算总价。calculateTotal
函数初始化总价。这种购物车计算逻辑广泛应用于电商网站、在线商城等需要用户选择商品并计算总价的场景。
领取专属 10元无门槛券
手把手带您无忧上云