本文实例为大家分享了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="/UploadFiles/2021-04-02/jquery-3.4.1.min.js">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); } } })以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE