<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>购物车</title>
<style>
h1{
text-align: center;
color: pink;
}
li{
list-style: none;
}
.girl{
width: 30px;
height: 30px;
}
.number{
width: 30px;
}
</style>
<script src="../jquery-3.6.0.min.js"></script>
</head>
<body>
<h1>你想带谁回家呢?</h1>
<input type="checkbox" id="all">全选
<ul>
<li>
<input type="checkbox" class="girl">
<img src="../../../../图片/原神/雷泽.png" alt="">
<strong>奔狼岭的传说</strong>
<span>
<button class="cut">-</button>
<input type="text" class="number" value="1">
<button class="add">+</button>
</span>
<span>单价</span>
<i>100</i>
<span>------合计:</span>
<b>100</b>
</li>
<li>
<input type="checkbox" class="girl">
<img src="../../../../图片/原神/可莉.png" alt="">
<strong>逃跑的太阳</strong>
<button class="cut">-</button>
<input type="text" class="number" value="1">
<button class="add">+</button>
<span>单价</span>
<i>160</i>
<span>------合计:</span>
<b>160</b>
</li>
<li>
<input type="checkbox" class="girl">
<img src="../../../../图片/原神/砂糖.png" alt="">
<strong>无害甜度</strong>
<button class="cut">-</button>
<input type="text" class="number" value="1">
<button class="add">+</button>
<span>单价</span>
<i>30</i>
<span>------合计:</span>
<b>30</b>
</li>
<li>
<input type="checkbox" class="girl">
<img src="../../../../图片/原神/甘雨.png" alt="">
<strong>徇循守月</strong>
<button class="cut">-</button>
<input type="text" class="number" value="1">
<button class="add">+</button>
<span>单价</span>
<i>1600</i>
<span>------合计:</span>
<b>1600</b>
</li>
<hr>
<div>总数:<span id="num">0</span>-----总价:<span id="sum" style="color: red;">0</span></div>
</ul>
<script>
//点击全选后所有角色都被选中,并修改合计
jQuery('#all').change(function(){
jQuery('.girl').prop('checked',jQuery('#all').prop('checked'));
if(jQuery('#all').prop('checked')==true)
{
var prices = [...jQuery('li').find('b')];
var sum = 0;
prices.forEach(function(item,index){
sum = sum + parseInt(item.innerHTML);
})
jQuery('#sum').text(sum);}
else{
jQuery('#sum').text('0');
}
if(jQuery('#all').prop('checked')==true)
{
var numbers = [...jQuery('li').find("input[type='text']")];
var number = 0;
numbers.forEach(function(item){
number = number + parseInt(item.value)
})
jQuery('#num').text(number);
}
else{
jQuery('#num').text('0');
}})
//任意角色取消选中后全选取消
jQuery('.girl').change(function(){
if(jQuery(this).prop('checked') == false)
{
jQuery('#all').prop('checked',false);
}
})
//所有角色都被选中后全选也被选中
jQuery('.girl').change(function(){
if(jQuery(".girl").not("input:checked").length == 0)
{
jQuery('#all').prop('checked',true);
}
})
//选中或取消后修改价格
jQuery('.girl').change(function(){
var on = jQuery(this).index('.girl');
if(jQuery(this).prop('checked') == false){
newnum = parseInt(jQuery('#num').text()) - parseInt(jQuery("input[type='text']")[on].value);
jQuery('#num').text(newnum);
newsum = parseInt(jQuery('#sum').text()) - parseInt(jQuery("b")[on].innerHTML);
jQuery('#sum').text(newsum);
}else{
newnum = parseInt(jQuery('#num').text()) + parseInt(jQuery("input[type='text']")[on].value);
jQuery('#num').text(newnum);
newsum = parseInt(jQuery('#sum').text()) + parseInt(jQuery("b")[on].innerHTML);
jQuery('#sum').text(newsum);
}
})
//点击+按钮增加数量并修改小计和总计
jQuery('.add').click(function(){
var m = jQuery(this).index('.add');
nownumber = parseInt(jQuery('.number').eq(m).val());
jQuery('.number').eq(m).val(nownumber+1);
var price = parseInt(jQuery('i').eq(m).text());
var now = parseInt(jQuery('b').eq(m).text());
jQuery('b').eq(m).text(price+now);
if(jQuery('.girl')[m].checked == true)
{
var num = parseInt(jQuery('#num').text())
num++;
jQuery("#num").text(num);
var sum = parseInt(jQuery('#sum').text())
sum = sum + price;
jQuery('#sum').text(sum);
}
})
//点击-按钮减少数量并修改小计和总计
jQuery('.cut').click(function(){
var m = jQuery(this).index('.cut');
nownumber = parseInt(jQuery('.number').eq(m).val());
jQuery('.number').eq(m).val(nownumber-1);
var price = parseInt(jQuery('i').eq(m).text());
var now = parseInt(jQuery('b').eq(m).text());
jQuery('b').eq(m).text(now-price);
if(jQuery('.girl')[m].checked == true)
{
var num = parseInt(jQuery('#num').text())
num--;
jQuery("#num").text(num);
var sum = parseInt(jQuery('#sum').text())
sum = sum - price;
jQuery('#sum').text(sum);
}
})
</script>
</body>
</html>
购物车案例
于 2022-02-18 22:16:18 首次发布