时间:2021-05-18
这篇文章里,将会提到购物车里的所有功能。包括全选、单选金额改变。在增加数量时金额也会相应改变。
效果图展示:
说下大致的思路吧:
1、首先是计算一行的价格。这个功能在上篇博客里有提到,这里就不列举出来了。
2、遍历选中的几行,将每行的数值相加。
3、将值赋给总金额显示出来。当取消勾选或加减数量时,金额会相应改变。
下面是具体的js部分:
<script type="text/javascript"> $(function(){ //计算总金额 function totalMoney(){ var total_price = 0; var total_count = 0; $(".d1-input").each(function(){ if($(this).hasClass('status')) { var obj1 = $(this).parent().siblings(".d4").find(".count").val();//获取一行的商品数量 total_count += parseInt(obj1); var obj2= $(this).parent().siblings(".d5").find(".cart-price").text();//获取一行的金额 total_price += parseInt(obj2); } }); $(".item").text(total_count);//将计算出的总金额显示 $(".total").text(total_price);//将计算出的总数量显示 } //全选 $(".d-input").toggle( function(){ $(this).addClass("status"); $(".sc-mid-list .d1-input").addClass("status");//添加勾选样式 $(".sc-mid-list").addClass("mouseover"); totalMoney(); }, function(){ $(this).removeClass("status"); $(".sc-mid-list .d1-input").removeClass("status");//取消勾选样式 $(".sc-mid-list").removeClass("mouseover"); totalMoney(); }); // 单选 $(".d1-input").toggle( function(){ $(this).addClass("status");//添加勾选样式 $(this).parents(".sc-mid-list").addClass("mouseover"); totalMoney(); }, function(){ $(this).removeClass("status");//取消勾选样式 $(this).parents(".sc-mid-list").removeClass("mouseover"); totalMoney(); }); // 减号样式 function count(){ $(".count").each(function(){ var num = $(this).val(); if (num == 1) { $(this).siblings(".reduce").removeClass("two").addClass("one"); $(this).siblings(".reduce").attr("disabled","disabled"); } else { $(this).siblings(".reduce").removeClass("one").addClass("two"); } })//根据数量是否为1,改变减号的样式 } // 加 $(".sc-mid-list .add").click(function(){ var input = $(this).siblings(".count"); var obj = $(this).parents(".d4"); var per = parseFloat(obj.siblings(".d3").find(".per").text());//获取当前一行的单价 var num = ''; var price = ''; input.attr("value", parseInt(input.attr("value")) + 1 );//数量加1 num = input.attr("value"); price = num*per;// obj.siblings(".d5").find(".cart-price").text(price); count(); totalMoney(); }) // 减 $(".sc-mid-list .reduce").click(function(){ var input = $(this).siblings(".count"); var obj = $(this).parents(".d4"); var per = parseFloat(obj.siblings(".d3").find(".per").text());//获取当前一行的单价 var num = ''; var price = ''; var Val = parseInt(input.attr("value")); if(Val <= 1){ Val = 2; } input.attr("value", parseInt(Val) - 1 );//数量减1 num = input.attr("value"); price = num*per;// obj.siblings(".d5").find(".cart-price").text(price); count(); }) })</script>jquery模仿淘宝悬挂购物车物品结算功能-附源码下载
查看演示 源码下载
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了jQuery实现购物车表单自动结算效果。分享给大家供大家参考。具体如下:这里jQuery实现购物车表单自动结算,只要用户把所购商品的数量输入进去,
我们有很多种方法实现将商品添加到购物车,通常的做法是点击“添加到购物车”按钮,会跳转到购物车,在购物车里可以点击“结算”按钮进行结算。而今天我给大家介绍一个更友
本文实例讲述了jQuery基于cookie实现的购物车。分享给大家供大家参考,具体如下:这里分析了jquery购物车原理,包括添加商品及数量到购物车cookie
本文实例为大家分享了jQuery实现购物车结算功能展示的具体代码,供大家参考,具体内容如下$(function(){$(".blue").bind(
先看看购物车结算效果:具体代码:购物车结算.shop-total,.all-total{height:50px;line-height:50px;font-we