代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>购物车</title>
<script src="js/jquery-3.6.0.js"></script>
<style>
input[type=text] {
width: 30px;
}
</style>
<script>
$(function () {
$("input[type='text']").change(function () {
var n = $(this).val();
var price = $(this).siblings(".price").text().substring(1);
var total = (n * price).toFixed(2);
$(this).siblings(".count").text("¥" + total);
getResult();
})
$(".increase").click(increaseFunc);
function updateLine(t, n) {
var price = t.siblings(".price").text().substring(1);
var sumPrice = n * price;
t.siblings(".count").text("¥" + sumPrice.toFixed(2));
}
function getResult() {
}
function increaseFunc() {
var n = $(this).siblings("input").val();
n++;
$(this).siblings("input").val(n);
updateLine($(this), n);
getResult();
}
$(".decrease").click(decreaseFunc);
function decreaseFunc() {
var n = $(this).siblings("input").val();
n--;
if (n < 1) {
alert("不能够再减了")
n = 1;
}
$(this).siblings("input").val(n);
updateLine($(this), n);
getResult();
}
function getResult() {
var li_list = $(".car_list li");
var total_price = 0;
li_list.each(function (idx, element) {
var line_price = $(element).find(".count").text().substr(1);
line_price = parseFloat(line_price);
total_price += line_price;
})
$(".total").text("¥" + total_price.toFixed(2));
}
$(".car_list>li>a").click(function () {
$(this).parent().remove();
getResult();
});
})
</script>
</head>
<body>
<ul class="car_list">
<li><span class="title">商品1</span><span class="price"></span>
<span class="price">¥10</span>
<button class="decrease">-</button>
<input type="text" value="1">
<button class="increase">+</button>
<span class="count">¥10</span>
<a href="javascript:;">删除</a>
</li>
<li><span class="title">商品2</span><span class="price"></span>
<span class="price">¥20</span>
<button class="decrease">-</button>
<input type="text" value="1">
<button class="increase">+</button>
<span class="count">¥20</span>
<a href="javascript:;">删除</a>
</li>
<li><span class="title">商品3</span><span class="price"></span>
<span class="price">¥30</span>
<button class="decrease">-</button>
<input type="text" value="1">
<button class="increase">+</button>
<span class="count">¥30</span>
<a href="javascript:;">删除</a>
</li>
</ul>
<p>小计:<span class="total" style="color: red">¥60</span></p>
</body>
</html>
效果图