jQuery实现购物车全功能
导读:收集整理的这篇文章主要介绍了jQuery实现购物车全功能,觉得挺不错的,现在分享给大家,也给大家做个参考。 本文实例为大家分享了jquery实现购物车全功能的具体代码,供大家参考,具体内...
收集整理的这篇文章主要介绍了jQuery实现购物车全功能,觉得挺不错的,现在分享给大家,也给大家做个参考。 本文实例为大家分享了jquery实现购物车全功能的具体代码,供大家参考,具体内容如下
效果图:
HTML& & CSS:
!DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
meta name="viewport" content="width=device-width, inITial-scale=1.0">
title>
Document/title>
script src="../jquery-3.4.1.min.js">
/script>
style>
* {
margin: 0;
padding: 0;
}
.tab {
width: 500px;
border-collapse: collapse;
margin: 0 auto;
}
.tab td, th {
border: 1px solid #000;
}
.tab .num {
width: 20px;
}
.tab .add, .sub {
width: 20px;
}
.current {
background-color: pink;
}
/style>
/head>
body>
table class="tab">
thead>
th>
全选 input type="checkbox" name="" value="" class="checkAll">
input type="checkbox" name="" value="" class="checkAll">
/th>
th>
商品名称/th>
th>
单价/th>
th>
数量/th>
th>
小计/th>
th>
操作/th>
/thead>
tbody>
tr>
td>
input type="checkbox" class="ed" />
/td>
td>
电脑/td>
td class="PRice">
¥200.20/td>
td>
button type="button" class="sub">
-/button>
input type="text" name="" value="1" class="num">
button type="button" class="add">
+/button>
/td>
td class="small_total">
¥200.20/td>
td class="delete">
删除/td>
/tr>
tr>
td>
input type="checkbox" class="ed" />
/td>
td>
手机/td>
td class="price">
¥100.30/td>
td>
button type="button" class="sub">
-/button>
input type="text" name="" value="1" class="num">
button type="button" class="add">
+/button>
/td>
td class="small_total">
¥100.30/td>
td class="delete">
删除/td>
/tr>
tr>
td>
input type="checkbox" class="ed" />
/td>
td>
空调/td>
td class="price">
¥1000.99/td>
td>
button type="button" class="sub">
-/button>
input type="text" name="" value="1" class="num">
button type="button" class="add">
+/button>
/td>
td class="small_total">
¥1000.99/td>
td class="delete">
删除/td>
/tr>
/tbody>
/table>
div>
span>
已选span style="color: red;
" class="num_sum">
1/span>
件商品/span>
span>
总计:/span>
span class="sum" style="color: red;
">
0/span>
div>
span style="color: red;
" class="delSome">
删除选中商品/span>
span style="color: red;
" class="delAll">
清空购物车/span>
/div>
/div>
/body>
/html>
JS:
//里面三个小的复选按钮选中状态跟着 全选按钮走//因为checked是复选框的固有属性,此时利用prop()获取和设置该属性$(function() {
getSum();
$(".checkAll").change(function() {
// console.LOG($(this).prop("checked"));
//全选按钮的状态 $(".ed,.checkAll").prop("checked", $(this).prop("checked"));
getSum();
if ($(".ed,.checkAll").prop("checked")) {
//如果全选,让所有商品添加类名(背景颜色) $(".tab tbody").children().addClass("current");
}
else {
$(".tab tbody").children().removeClass("current");
}
}
) //如果所有小按钮的个数都被选了,全选按钮就选上,如果小按钮没有被选上,则全选按钮就不选上 //:checked选择器,查找本选中的表单元素 $(".ed").change(function() {
// console.log($(".ed:checked").length);
//小复选框选中的个数 // console.log($(".ed").length);
//console.log($(this).prop("checked"));
if ($(".ed:checked").length === $(".ed").length) {
$(".checkAll").prop("checked", true);
}
else {
$(".checkAll").prop("checked", false);
}
getSum();
if ($(this).prop("checked")) {
$(this).parents("tr").addClass("current");
}
else {
$(this).parents("tr").removeClass("current");
}
}
) $(".add").click(function() {
let n = parseint($(this).siblings(".num").val());
//console.log(n);
n++;
$(this).siblings(".num").val(n);
let price = $(this).parent().siblings(".price").html();
price = price.substr(1);
//console.log(price);
$(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2));
getSum();
}
) $(".sub").click(function() {
let n = parseInt($(this).siblings(".num").val());
//console.log(n);
if (n === 1) {
return false;
}
n--;
$(this).siblings(".num").val(n);
let price = $(this).parent().siblings(".price").html();
price = price.substr(1);
//console.log(price);
$(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2));
getSum();
}
) //用户也可以直接修改表单num里面的值(小bug),同样计算小计 $(".num").change(function() {
let n = $(this).val();
let price = $(this).parent().siblings(".price").html();
price = price.substr(1);
$(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2));
getSum();
}
) function getSum() {
let count = 0;
//计算总件数 let money = 0;
//计算总价钱 $(".num").each(function(index) {
if ($(".ed").eq(index).prop("checked") == true) {
count += parseInt($(".num").eq(index).val());
money += parseFloat($(".small_total").eq(index).text().substr(1));
}
}
) $(".num_sum").html(count);
$(".sum").html(money.toFixed(2));
}
//删除商品模块 //点击删除之后一定是删除当前的商品,所以从$(this)出发 $(".delete").click(function() {
//删除的是当前的商品 $(this).parent().remove();
$(".ed").change();
getSum();
cleArcheckAll();
}
) //删除选定的商品:小的复选框如果选中就删除对应的商品 $(".delSome").click(function() {
//删除的是选中的商品 $(".ed:checked").parent().parent().remove();
getSum();
clearCheckAll();
}
) //清空购物车 $(".delAll").click(function() {
$(".tab tbody").empty();
getSum();
clearCheckAll();
}
) function clearCheckAll() {
if ($(".tab tbody")[0].innerText == '') {
$(".checkAll").prop("checked", false);
}
}
}
)以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:- 使用jQuery实现购物车
- jquery实现购物车基本功能
- jQuery实现购物车的总价计算和总价传值功能
- jQuery实现全部购物车功能实例
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: jQuery实现购物车全功能
本文地址: https://pptw.com/jishu/594029.html
