jQuery实现购物车多物品数量的加减+总价计算

合集下载

购物车数量加减代码

购物车数量加减代码

购物车数量加减代码.amount-wrap .icon{display: inline-block;width: 28px;height: 28px;line-height: 28px;text-align: center;border: 1px solid #cdcdcd;background-color: #eee;vertical-align: middle;}.amount-wrap .icon-minus {border-right: 0;}.amount-wrap .icon-plus {border-left: 0;}.amount-wrap input {width: 40px;margin-bottom: 0;text-align: center;vertical-align: middle;}<td class="amount-wrap"><a href="#" class="icon icon-minus"></a><input type="text" value="1"><a href="#" class="icon icon-plus"></a></td> $('#orderList').find('input[type="text"]').on('keyup paste input',function(){this.value = ~~this.value.replace(/\D/g,''); // onkeyup="this.value=this.value.replace(/[^0-9]*/,'')"if(this.value == '') this.value = 0;setTotal();});$('#selectList').on('keyup paste input','input[type="text"]',function(){this.value = ~~this.value.replace(/\D/g,'');if(this.value == '') this.value = 0;setTotal();});$('#orderList .minus').on('click',function(e){e.preventDefault();var t = $(this).parent().find('input[type="text"]'),tit = $(this).parents('li').find('h2 > a').html(),price = $(this).parents('li').find('span.order-price > i').html(),pid = $(this).parents('li').attr('id'),index = $(this).parents('li').index(),catid = $('.swiper-nav').find('.swiper-slide').eq(index).data('catid'),cattit = $('.swiper-nav').find('.swiper-slide').eq(index).find('.title').html(),$hasPid = $("#selectList").has('#s-'+ pid);if(parseInt(t.val()) > 0 ){t.val(parseInt(t.val())-1);}if($hasPid){if(parseInt(t.val()) == 0){$('#s-'+ pid).remove();}else{$('#s-'+ pid).find('input[type="text"]').val(parseInt(t.val()));}}setTotal();});$('#orderList .plus').on('click',function(e){e.preventDefault();var t = $(this).parent().find('input[type="text"]'),tit = $(this).parents('li').find('h2 > a').html(),price = $(this).parents('li').find('span.order-price > i').html(),pid = $(this).parents('li').attr('id'),index = $(this).parents('.swiper-slide').index(),catid = $('.swiper-nav').find('.swiper-slide').eq(index).data('catid'),cattit = $('.swiper-nav').find('.swiper-slide').eq(index).find('.title').html(),$hasPid = $("#selectList").has('#s-'+ pid).length;t.val(parseInt(t.val())+1);if($hasPid){$('#s-'+ pid).find('input[type="text"]').val(parseInt(t.val()));}else{var _html = '<li id="s-'+pid+'">'+'<a href="#" class="tit">【'+cattit+'】'+tit+'</a><span class="order-price pull-right">¥<i>'+price+'</i></span>'+'<div class="clearfix selected-btm">'+'<a href="#" class="icon-del"></a>&nbsp;&nbsp;&nbsp;&nbsp;'+'<div class="order-amount pull-right">'+'<a href="#" class="minus"></a>'+'<input type="text" value="'+parseInt(t.val())+'">'+'<a href="#" class="plus"></a>'+'</div>'+'</div>'+'</li>';$("#selectList ul").append(_html);}setTotal();});$('#selectList').on('click','.plus',function(e){e.preventDefault();var $this = $(this),$parentLi = $this.parents('li'),$pid = $parentLi.attr('id').replace('s-','');var t = $this.parent().find('input[type="text"]');t.val(parseInt(t.val())+1);$('#'+$pid).find('input[type="text"]').val(t.val());setTotal();});$('#selectList').on('click','.minus',function(e){e.preventDefault();var $this = $(this),$parentLi = $this.parents('li'),$pid = $parentLi.attr('id').replace('s-','');var t = $this.parent().find('input[type="text"]');if(parseInt(t.val()) == 1){$this.addClass('disable');return false;}t.val(parseInt(t.val())-1);$('#'+$pid).find('input[type="text"]').val(t.val());setTotal();});$('#selectList').on('click','.icon-del',function(e){e.preventDefault();var $this = $(this),$parentLi = $this.parents('li'),$pid = $parentLi.attr('id').replace('s-','');$parentLi.remove();$('#'+$pid).find('input[type="text"]').val(0);setTotal();});function setTotal(){var moneyTotal = 0, numTotal = 0;var date = new Date();date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000));$("#orderList li").each(function(){var $this = $(this),numVal = $this.find('input[type="text"]').val(),pid = $this.attr('id');if ( numVal > 0) {moneyTotal += parseInt(numVal)*parseFloat($(this).find('span.order-price>i').text()); numTotal += parseInt(numVal);$.cookie(pid,numVal,{path:path,expires:date});$.cookie('mTotal',moneyTotal,{path:path,expires:date});$.cookie('nTotal',numTotal,{path:path,expires:date});}else {$.cookie(pid,null,{ path: path,expires:-1});}});if($("#selectList ul li").length == 0){$("#selectList").hide();}else{$("#selectList").show();}$("#moneyTotal").html(moneyTotal.toFixed(2));$("#numTotal").html(numTotal);$("#moneyTotal2").html(moneyTotal.toFixed(2));$("#numTotal2").html(numTotal);}$('.amount-wrap').find('input[type="text"]').on('keyup paste input',function(){ this.value = ~~this.value.replace(/\D/g,'');if(this.value == '') this.value = 0;});$('.amount-wrap').on('click','.icon-plus',function(e){e.preventDefault();var $this = $(this),$parent = $this.parent(),$input = $parent.find('input[type="text"]');$input.val(parseInt($input.val())+1);$this.siblings('.icon-minus').removeClass('disable'); });$('.amount-wrap').on('click','.icon-minus',function(e){ e.preventDefault();var $this = $(this),$parent = $this.parent(),$input = $parent.find('input[type="text"]');if(parseInt($input.val()) == 1){$this.addClass('disable');return false;}$input.val(parseInt($input.val())-1);});。

jQuery实现的购物车物品数量加减功能代码

jQuery实现的购物车物品数量加减功能代码

jQuery实现的购物车物品数量加减功能代码本⽂实例讲述了jQuery实现的购物车物品数量加减功能。

分享给⼤家供⼤家参考,具体如下:今天⽹友翠⼉在⽤Jquery实现购物车物品数量的加减特效的时候遇到问题来问我,我后来帮她解决了这个Jquery特效,现在把它整理出来分享给⼤家⽤,虽然功能⽐较简单,但是很实⽤。

主要包括了以下功能:1、数量增加操作功能2、数量减少操作功能3、总价计算功能4、⾃动判断数量到1的时候,减少操作按钮禁⽌点击,数量增加时⾃动恢复5、保留⼩数点位数toFixed()函数⾮常实⽤功能代码如下:$(function(){//获得⽂本框对象var t = $("#text_box");//数量增加操作$("#add").click(function(){t.val(parseInt(t.val())+1)if (parseInt(t.val())!=1){$('#min').attr('disabled',false);}setTotal();})//数量减少操作$("#min").click(function(){t.val(parseInt(t.val())-1);if (parseInt(t.val())==1){$('#min').attr('disabled',true);}setTotal();})//计算操作function setTotal(){$("#total").html((parseInt(t.val())*3.95).toFixed(2));//toFixed()是保留⼩数点的函数很实⽤哦}//初始化setTotal();})更多关于jQuery相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家jQuery程序设计有所帮助。

jQuery实现购物车商品数量及总价的计算

jQuery实现购物车商品数量及总价的计算

jQuery实现购物车商品数量及总价的计算记录⼀下项⽬中遇到的计算购物车商品数量和总价的jQuery代码,重点在于选择器以及.text()命令的使⽤。

先上效果图,点击加减,商品数量以及总价会发⽣相应变化。

html1<div class="details-right fl">2<h2 class="album-name mb20">【独家发售】⼤张伟2018全新专辑《⼈间精品》</h2>3<ul class="album-info-li">4<li><span class="li-name">商城价格</span><strong class="li-price">83.1元</strong>5<del class="original-price">83.1元</del>6</li>7<li><span class="li-name">重量</span><span class="li-info">0.33kg</span></li>8<!--<li><span class="li-name">数量</span><span class="li-info"><img src="img/num.jpg"/></span></li>-->9<li class="count">10<span class="li-name">数量</span>11<a href="javascript:void(0);" class="c_sub"> - </a><input id="count-ipt" type="text" value="1"><a href="javascript:void(0);" class="c_add"> + </a> 12<span class="inventory">库存<i class="in-count">5</i>件</span>13</li>14</ul>15<div class="details-btn-box">16<div class="btns mb20">17<button class="add-cart"></button>18<button class="buy-now"></button>19</div>20<div><img src="img/zpbz.png"/></div>2122</div>23</div>css1 .count a {2 display: inline-block;3 width: 24px;4 height: 30px;5 background: #eaeaea;6 color: #fff;7 vertical-align: middle;8 text-align: center;9 font-size: 20px;10 line-height: 25px;11 cursor: pointer;12 }1314 .count input {15 width: 42px;16 height: 28px;17 border: 1px solid #c9c9c9;18 color: #333739;19 vertical-align: middle;20 text-align: center;21 font-size: 14px;22 }2324 .count .inventory {25 margin-left: 15px;26 color: #999;27 font-size: 12px;28 }2930 .count .inventory .in-count {31 color: #666;32 font-style: normal33 }js$(function () {$(".c_add").click(function () {var val = $("#count-ipt").val();var num = parseInt(val) + 1;var count = $(".in-count").text();if (num <= count)$("#count-ipt").val(num)})$(".c_sub").click(function () {var val = $("#count-ipt").val();var num = parseInt(val) - 1;if (num > 0)$("#count-ipt").val(num)})$(".buy-now").click(function () {var val = $("#count-ipt").val();var price = parseFloat($(".li-price").text()) * 100; alert(val * price / 100);})})。

JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)

JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)

JQuery实现的购物车功能(可以减少或者添加商品并⾃动计算价格)购物车点击可以减少或者添加商品并⾃动计算价格:购物车中可能有这样的功能,那就是点击按钮可以实现商品数量的减少或者增加,并且能够实时的计算出总的商品价格,下⾯就通过代码实例介绍⼀下如何实现此功能,当然下⾯的这个模拟实现的购物车难登⼤雅之堂,但是可以从中得到⼀些启发或者相关的知识点,代码如下:复制代码代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script><script type="text/javascript">$(function(){$(".add").click(function(){var t=$(this).parent().find('input[class*=text_box]');t.val(parseInt(t.val())+1)setTotal();})$(".min").click(function(){var t=$(this).parent().find('input[class*=text_box]');t.val(parseInt(t.val())-1)if(parseInt(t.val())<0){t.val(0);}setTotal();})function setTotal(){var s=0;$("#tab td").each(function(){s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).find('span[class*=price]').text());});$("#total").html(s.toFixed(2));}setTotal();})</script></head><body><table id="tab"><tr><td><span>单价:</span><span class="price">1.50</span><input class="min" name="" type="button" value="-" /><input class="text_box" name="" type="text" value="1" /><input class="add" name="" type="button" value="+" /></td></tr><tr><td><span>单价:</span><span class="price">3.95</span><input class="min" name="" type="button" value="-" /><input class="text_box" name="" type="text" value="1" /><input class="add" name="" type="button" value="+" /></td></tr></table><p>总价:<label id="total"></label></p></body></html>上⾯的代码实现了简单的购物车功能,下⾯详细介绍⼀下它的实现过程。

jQuery实现购物车计算价格功能的方法

jQuery实现购物车计算价格功能的方法

jQuery实现购物车计算价格功能的⽅法本⽂实例讲述了jQuery实现购物车计算价格功能的⽅法。

分享给⼤家供⼤家参考。

具体如下:⽬的实现在html界⾯修改购物车的件数,购物车商品价格的⼩计和总计要修改。

实现思路1.当点击进⼊界⾯,刷新的时候触发body内的onload=""⽅法,跳转到JS代码。

这样做的原因是在数据库内我们只会存储某客户的准备购买的商品件数,⽽不会存储每类商品价格的⼩计和购物车内所有物品的商品总价格,初始化的⽬的就是为将这些数字计算出来后显⽰在前台界⾯上。

2.当更改数量输⼊框中每个商品的数量时,整个购物表商品的价格,商品的⼩计和总计会根据数量发⽣变化。

成品样图展⽰全部代码(⽕狐浏览器)<!DOCTYPE HTML><html><head><title>cart</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><!-- 要把jquery-1.9.1.min.js导进去,不导出不来 --><script type="text/javascript" src="jquery-1.9.1.min.js"></script><script language="javascript">$(function(){var size=3.0*$('#image1').width();$("#image1").mouseover(function(event) {var $target=$(event.target);if($target.is('img')){$("<img id='tip' src='"+$target.attr("src")+"'>").css({"height":size,"width":size,}).appendTo($("#imgtest"));/*将当前所有匹配元素追加到指定元素内部的末尾位置。

基于javascript的购物车设计与实现

基于javascript的购物车设计与实现

基于JavaScript的购物车设计与实现随着电子商务的快速发展,购物车功能已成为全球信息站的常见部分。

购物车是电子商务全球信息站上用于存储和管理用户所选择商品的重要功能。

在该文章中,将针对基于JavaScript的购物车设计与实现进行讨论。

一、购物车的功能需求分析在设计购物车之前,首先需要对其功能需求进行分析。

购物车的主要功能需求包括但不限于以下几点:1. 添加商品到购物车2. 删除购物车中的商品3. 修改购物车中的商品数量4. 计算购物车中商品的总价5. 显示购物车中的商品列表二、购物车的技术选型分析为了实现以上功能需求,需要选择一个合适的技术进行购物车的设计和实现。

在当前的前端开发中,JavaScript是一种非常流行的语言,并且有着丰富的生态系统和强大的功能,因此可以选择使用JavaScript来实现购物车功能。

还可以借助其他技术如HTML、CSS等来实现购物车的界面展示。

三、购物车的设计与实现在设计购物车时,可以采用面向对象的思想,将购物车视为一个实体对象。

购物车对象可以包含以下属性和方法:1. 属性:- 商品列表:用来存储购物车中的商品信息- 总价:用来存储购物车中所有商品的总价2. 方法:- 添加商品:根据用户的选择,向商品列表中添加商品信息,并更新总价- 删除商品:根据用户的选择,从商品列表中删除商品信息,并更新总价- 修改数量:根据用户的选择,修改商品列表中商品的数量,并更新总价- 计算总价:根据商品列表中商品的信息,计算出购物车中所有商品的总价- 显示商品列表:将购物车中的商品列表展示给用户四、购物车的界面实现除了购物车功能的设计与实现,还需要考虑购物车的界面展示。

购物车的界面应包括以下内容:1. 商品列表:展示购物车中所有商品的信息,包括商品名称、数量、单价等2. 总价:展示购物车中所有商品的总价3. 操作按钮:提供添加、删除、修改数量等操作的按钮,方便用户对购物车中的商品进行管理五、购物车的性能优化在实现购物车功能时,还需要考虑性能优化的问题。

jquery实现购物车所运用的知识点

jquery实现购物车所运用的知识点

一、概述随着电子商务的迅速发展,全球信息站购物已经成为人们日常生活的重要组成部分。

而全球信息站购物的一个重要功能就是购物车,它为用户提供了方便的商品管理和结算的功能。

在网页开发中,实现购物车功能是一项常见的需求。

而jQuery作为一个流行的JavaScript库,被广泛应用于网页开发中,也可以用于实现购物车功能。

本文将介绍jQuery实现购物车所运用的知识点。

二、jQuery基础知识1. jQuery选择器在实现购物车功能中,需要用到jQuery选择器来定位页面中的元素,例如商品列表、加入购物车按钮、购物车总价等。

通过使用jQuery选择器,可以方便地获取这些元素并对其进行操作。

2. jQuery事件在购物车功能中,需要对页面中的一些元素绑定事件,例如点击加入购物车按钮时,需要将商品添加到购物车中。

jQuery提供了丰富的事件处理方法,可以轻松实现事件绑定和处理。

3. jQuery动画在购物车功能中,可能需要一些动画效果,例如点击加入购物车按钮时,商品图标飞入购物车的动画效果。

jQuery提供了丰富的动画方法,可以实现这些效果。

三、实现购物车功能1. 添加商品到购物车当用户点击页面中的加入购物车按钮时,需要将对应的商品添加到购物车中。

这一过程可以通过jQuery事件和DOM操作来实现。

通过jQuery选择器获取商品信息,然后将商品信息添加到购物车中,并更新购物车总价。

2. 更新购物车当购物车中的商品发生变化时,需要更新购物车的显示。

这包括更新商品数量、总价,以及动态展示购物车中的商品。

3. 删除购物车中的商品用户可能需要从购物车中移除某个商品,这需要通过点击删除按钮来触发删除操作。

在jQuery中,可以通过事件委托的方式来实现对删除按钮的监听,并在事件处理函数中进行对应的操作。

四、其他知识点1. 数据存储购物车中的商品信息需要进行存储,以便在页面刷新或跳转时能够保持数据的一致性。

可以选择使用cookie、localStorage或者后端数据库来进行数据存储。

JS实现购物车功能(JS案例)

JS实现购物车功能(JS案例)

JS实现购物车功能(JS案例)购物车功能是一个非常常见的电商网站功能,它允许用户将感兴趣的商品加入购物车,然后在结算时一次性支付。

本文将使用JavaScript实现一个简单的购物车功能。

首先,我们需要定义一个购物车对象,用于保存用户选择的商品信息。

购物车对象可以包含以下几个属性:- `items`: 一个数组,用于保存用户选择的商品信息- `addItem`: 一个方法,用于将商品加入购物车- `removeItem`: 一个方法,用于从购物车中移除商品- `getTotalPrice`: 一个方法,用于计算购物车中所有商品的总价格```javascript//购物车对象var cart =items: [],addItem: function(item)this.items.push(item);},removeItem: function(itemIndex)this.items.splice(itemIndex, 1);},getTotalPrice: functiovar totalPrice = 0;for (var i = 0; i < this.items.length; i++)totalPrice += this.items[i].price;}return totalPrice;}```在上面的代码中,`addItem`方法用于将商品加入购物车,它接受一个商品对象作为参数,并将其添加到`items`数组中。

`removeItem`方法用于从购物车中移除商品,它接受一个商品在`items`数组中的索引作为参数,并使用`splice`方法将其从数组中删除。

`getTotalPrice`方法用于计算购物车中所有商品的总价格,它通过循环遍历`items`数组,将每个商品的价格累加到`totalPrice`变量中,最后返回总价格。

下面是一个简单的示例,演示如何使用购物车对象:```javascript//创建几个商品对象var item1 =name: '商品1',price: 100};var item2 =name: '商品2',price: 200};//将商品加入购物车cart.addItem(item1);cart.addItem(item2);//输出购物车中所有商品的名称和价格for (var i = 0; i < cart.items.length; i++) console.log('商品名称:', cart.items[i].name); console.log('商品价格:', cart.items[i].price); //输出购物车中所有商品的总价格console.log('总价格:', cart.getTotalPrice(); //从购物车中移除商品2cart.removeItem(1);//再次输出购物车中所有商品的总价格console.log('总价格:', cart.getTotalPrice();```在上面的示例中,我们通过创建了两个商品对象`item1`和`item2`,然后使用`addItem`方法将它们加入购物车。

jQuery实现数字加减效果汇总

jQuery实现数字加减效果汇总

jQuery实现数字加减效果汇总我们在⽹上购物提交订单时,在⽹页上⼀般会有⼀个选择数量的控件,要求买家选择购买商品的件数,开发者会把该控件做成可以通过点击实现加减等微调操作,当然也可以直接输⼊数字件数。

左右加减数字像京东提交订单时⽬前使⽤的是左右加减数字的效果,这个效果直接明了,操作简单。

我们使⽤jquery.spinner.js插件实现左右加减数字,调⽤⽅法⾮常简单。

复制代码代码如下:<input type="text" class="spinner"/>调⽤也⾮常简单,先载⼊jquery库⽂件和jquery.spinner.js,然后使⽤以下代码:复制代码代码如下:$('.spinner').spinner();Bootstrap风格,右侧加减Bootstrap⽕了很久了,基于bootstrap风格的各类应⽤也⾮常多,下⾯给⼤家介绍⼀个基于bootstrap的数字加减插件,可以设置最⼩值、最⼤值、递增递减(步长值),可⼿动输⼊数字。

复制代码代码如下:<div class="input-group spinner" data-trigger="spinner" id="spinner"><input type="text" class="form-control" value="1" data-max="10" data-min="1" data-step="1"><div class="input-group-addon"><a href="javascript:;" class="spin-up" data-spin="up"><i class="icon-sort-up"></i></a><a href="javascript:;" class="spin-down" data-spin="down"><i class="icon-sort-down"></i></a></div></div>将bootstrap相关css和js⽂件载⼊后,便可直接看到页⾯效果,如果你的项⽬基于bootstrap,那么直接就可以调⽤它了。

电子商务中的购物车算法实现

电子商务中的购物车算法实现

电子商务中的购物车算法实现随着电子商务领域的快速发展,越来越多的人开始选择在网上购物。

而购物车算法则是电商网站的一项核心技术,在将商品加入购物车后,系统需要自动计算商品的总价、优惠、税费等信息,并根据用户的需求进行推荐商品,以提高订单数与平均交易金额。

本文将介绍购物车算法在电商网站中的实现方法。

一、购物车基本信息购物车通常由以下信息组成:1.用户信息:用户ID、用户地址、用户收货时间等信息。

2.商品信息:商品名称、商品类型、商品价格、商品图片、商品数量等信息。

3.优惠信息:优惠券、满减活动、团购活动等信息。

4.订单信息:订单总价、税费、支付方式、快递方式、订单状态等信息。

以上信息是购物车的基本组成部分,对于电商网站来说,其购物车算法的实现方法就是将这些不同的信息整合起来,以提高用户购物体验。

二、购物车计算电商网站中购物车的计算涉及到了购物车的总价、优惠、税费等问题,具体的实现方法如下:1.购物车总价计算购物车总价计算公式为:(商品数量x商品单价)-优惠券金额=购物车总价。

通过计算用户所购商品的数量和单价,再减去优惠券的金额,最终得出购物车的总价。

此时,需要将购物车中的物品分组,分别进行计算和累加。

2.购物车优惠购物车优惠需要根据不同情况进行计算。

例如:①满减优惠:购物车中的商品总价超过100元时,可以享受10元的优惠。

②优惠券优惠:优惠券可以是满减券,也可以是打折券。

例如,用户使用一张50元的满减券,当购物车中商品总价为150元时,可以享受50元的优惠。

③团购优惠:团购活动多数情况下都是按照折扣来计算的。

例如,用户购买的商品原价为100元,当用户参加了7折团购活动时,只需要支付70元。

以上优惠可以通过后端开发人员在系统中定义不同的规则,来灵活地进行设置和应用。

3.购物车税费购物车税费的计算方法与物品的相关属性有关。

例如,跨境商品需要收取增值税,虚拟商品则不需要。

三、购物车推荐购物车推荐是基于分析用户需求,从而自动将某些商品推荐给用户,以提高订单数与平均交易金额的一项服务。

jquery实现购物车功能

jquery实现购物车功能

jquery实现购物车功能本⽂实例为⼤家分享了jquery实现购物车功能的具体代码,供⼤家参考,具体内容如下html<!DOCTYPE html><html><head><title>购物车</title><meta charset="utf-8" /><style type="text/css">h1 {text-align: center;}table {margin: 0 auto;width: 60%;border: 2px solid #aaa;border-collapse: collapse;}table th, table td {border: 2px solid #aaa;padding: 5px;}th {background-color: #eee;}</style><script src="jquery-3.2.1.min.js"></script><script src="gw.js"></script></head><body><h1>真划算</h1><table id="tb1"><tr><th>商品</th><th>单价(元)</th><th>颜⾊</th><th>库存</th><th>好评率</th><th>操作</th></tr><tr><td>罗技M185⿏标</td><td>80</td><td>⿊⾊</td><td>893</td><td>98%</td><td align="center"><input type="button" value="加⼊购物车"onclick="addshoping(this);" /></td></tr><tr><td>微软X470键盘</td><td>150</td><td>⿊⾊</td><td>9028</td><td>96%</td><td align="center"><input type="button" value="加⼊购物车"onclick="addshoping(this);" /></td></tr><tr><td>洛克iphone6⼿机壳</td><td>60</td><td>透明</td><td>672</td><td>99%</td><td align="center"><input type="button" value="加⼊购物车"onclick="addshoping(this);" /></td></tr><tr><td>蓝⽛⽿机</td><td>100</td><td>蓝⾊</td><td>8937</td><td>95%</td><td align="center"><input type="button" value="加⼊购物车"onclick="addshoping(this);" /></td></tr><tr><td>⾦⼠顿U盘</td><td>70</td><td>红⾊</td><td>482</td><td>100%</td><td align="center"><input type="button" value="加⼊购物车"onclick="addshoping(this);" /></td></tr></table><h1>购物车</h1><table><thead><tr><th>商品</th><th>单价(元)</th><th>数量</th><th>⾦额(元)</th><th>删除</th></tr></thead><tbody id="goods"></tbody><tfoot><tr><td colspan="3" align="right">总计</td><td id="total"></td><td></td></tr></tfoot></table></body></html>js//添加购物车function addshoping(btn) {var name = $(btn).parent().siblings().eq(0).html()var price = $(btn).parent().siblings().eq(1).html()var trs = $("#goods tr")var nameArr = new Array();$.each(trs, function (index, value) {nameArr.push($(this).children('td').eq(0).text())})var $tr = $('<tr>' +'<td>' + name + '</td>' +'<td>' + price + '</td>' +'<td align="center">' +'<input type="button" value="-" onclick="jian(this);"/> ' +'<input type="number" size="3" readonly value="1"/> ' +'<input type="button" value="+" onclick="increase(this);"/>' +'</td>' +'<td>' + price + '</td>' +'<td align="center"><input type="button" value="x" onclick="del(this);"/></td>' + '</tr>');var ishasName = nameArr.indexOf(name)if (ishasName >= 0) {var goodcount=trs.eq(ishasName).children('td').eq(2).children().eq(1).val()Number.parseInt(goodcount);trs.eq(ishasName).children('td').eq(2).children().eq(1).val(++goodcount)var price=trs.eq(ishasName).children('td').eq(1).html()Number.parseInt(price)trs.eq(ishasName).children('td').eq(3).html(goodcount*price);} else {// $tr.insertAfter($("#goods tr:eq(0)"))$("#goods").append($tr);}var kucun = tds.eq(3).html()Number.parseInt(kucun)tds.eq(3).html(--kucun)sum()}//增加function increase(btn){var num=$(btn).prev().val()Number.parseInt(num);var bignew=$(btn).prev().val(++num)var price = $(btn).parent().prev().html(); $(btn).parent().next().html(num*price);sum();};//减少function jian(btn){var num=$(btn).next().val()if(num<=1){return;}Number.parseInt(--num)var price = $(btn).parent().prev().html(); var newprice=$(btn).parent().next().html();$(btn).parent().next().html(newprice-price); $(btn).next().val(num)sum()}//删除function del(btn){$(btn).parent().parent().remove()sum();}//总和function sum() {// 获取tbody下的所有⾏var $trs = $("#goods tr");// 遍历他们var sum = 0;for (var i = 0; i < $trs.length; i++) {// 获取每⼀⾏var $tr = $trs.eq(i);// 获取该⾏中第四列的值(⾦额)var mny = $tr.children().eq(3).html();sum += parseFloat(mny);}// 写⼊到合计$("#total").html(sum);};运⾏结果:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

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);}}})以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

jq实现购物车结算和数量更改功能

jq实现购物车结算和数量更改功能

jq实现购物车结算和数量更改功能这是个仿碧欧泉官⽹的购物车结算页⾯。

这⾥仅提供思路和我的代码作参考,代码具体需要看⾃⼰的html界⾯。

其中的难点在于数量的更改以及价格的结算。

当出现⼀个商品时的结算是较为简单的。

但是若有多个商品,则每个数量的更改应有对应的价格。

(⼏乎所有有实际应⽤功能的购物车都是如此,所以从⼀开始做的时候就应该往这个⽅⾯去想。

)⾸先:在html界⾯写出数量变化的代码,并绑定事件<td class="cart-table-content-td4"><input type="button" value="-" onclick="del(this)"/><input type="text" class="text_box" value="1" /><input type="button" value="+" onclick="add(this)"/></td>当按下【+】按钮时:function add(q){var good_num = $(q).parent().find('input[class*=text_box]'); //找到商品数量var old_num = $(good_num).val(); //获取商品数量的值var new_num=parseInt(old_num)+1; //商品数量+1$(good_num).val(new_num); //商品数量赋值// 到这⾥商品数量的操作已经完成var one_price=$(q).parent().parent().find(".product-price span").text(); //找到该商品单价var new_money=parseInt(one_price)*parseInt((good_num).val()); //获取单价*数量的总价的值 var total_price = $(q).parent().parent().find(".font-total-price span"); //找到该商品总价$(total_price).text(new_money); //该商品总价赋值// 到这⾥该商品总价的计算操作已经完成var a= $(".font-total-price span"); //找到所有商品的总价var m=0; //遍历,获取,将字符串转化为数字,并相加for(var i=0;i<a.length;i++){m+=Number(a[i].textContent);}$("#all_price").text("¥"+m); //赋值给总商品价格$("#all_total_price").text("¥"+m); //赋值给总价//到这⾥商品总结算已经完成}当按下【-】按钮时:(思路与【+】相似,不同之处是多了⼀个判断,商品数量不能⼩于1)function del(q){var good_num = $(q).parent().find('input[class*=text_box]');var old_num = $(good_num).val();var new_num=parseInt(old_num)-1;$(good_num).val(new_num);if(new_num<1){alert("再减就没有了!");$(good_num).val(1);;}var one_price=$(q).parent().parent().find(".product-price span").text();var new_money=parseInt(one_price)*parseInt((good_num).val());var total_price = $(q).parent().parent().find(".font-total-price span");$(total_price).text(new_money);var a= $(".font-total-price span");var m=0;for(var i=0;i<a.length;i++){m+=Number(a[i].textContent);}$("#all_price").text("¥"+m);$("#all_total_price").text("¥"+m);}。

jQuery实现简单购物车页面

jQuery实现简单购物车页面

jQuery实现简单购物车页⾯功能描述:当全选按钮被按下时,所有商品的⼩复选框(以及另外⼀个全选按钮)的选中状态跟按下的全选按钮保持⼀致;当⽤户选中商品时,如果所有商品都被选中,就让全选按钮为选中状态;⽤户可以点击 + - 增加或减少商品数量,也可以直接在⽂本框修改数量,数量修改后后边的⼩计也会相应改变;⽤户可以进⾏删除操作,删除单个商品、选中商品以及清理购物车;当⽤户进⾏操作时,下⾯的已选商品件数以及总额也会有相应变化准备⼯作:⾸先将css样式以及jq、js⽂件引⼊,jq⽂件要放在js⽂件上边<link rel="stylesheet" href="css/car.css"><script src="js/jquery.min.js"></script><script src="js/car.js"></script>HTML代码及CSS样式:1<body>2<div class="w">3<div class="cart-warp">4<!-- 头部全选模块 -->5<div class="cart-thead">6<div class="t-checkbox">7<input type="checkbox" name="" id="" class="checkall">全选8</div>9<div class="t-goods">商品</div>10<div class="t-price">单价</div>11<div class="t-num">数量</div>12<div class="t-sum">⼩计</div>13<div class="t-action">操作</div>14</div>15<!-- 商品详细模块 -->16<div class="cart-item-list">17<div class="cart-item check-cart-item">18<div class="p-checkbox">19<input type="checkbox" name="" id="" checked class="j-checkbox">20</div>21<div class="p-goods">22<div class="p-img">23<img src="img/p1.jpg" alt="">24</div>25<div class="p-msg">【5本26.8元】经典⼉童⽂学彩图青少版⼋⼗天环游地球中学⽣语⽂教学⼤纲</div>26</div>27<div class="p-price">¥12.60</div>28<div class="p-num">29<div class="quantity-form">30<a href="javascript:;" class="decrement">-</a>31<input type="text" class="itxt" value="1">32<a href="javascript:;" class="increment">+</a>33</div>34</div>35<div class="p-sum">¥12.60</div>36<div class="p-action"><a href="javascript:;">删除</a></div>37</div>38<div class="cart-item">39<div class="p-checkbox">40<input type="checkbox" name="" id="" class="j-checkbox">41</div>42<div class="p-goods">43<div class="p-img">44<img src="img/p2.jpg" alt="">45</div>46<div class="p-msg">【2000张贴纸】贴纸书 3-6岁贴画⼉童贴画书全套12册贴画贴纸⼉童汽</div>47</div>48<div class="p-price">¥24.80</div>49<div class="p-num">50<div class="quantity-form">51<a href="javascript:;" class="decrement">-</a>52<input type="text" class="itxt" value="1">54</div>55</div>56<div class="p-sum">¥24.80</div>57<div class="p-action"><a href="javascript:;">删除</a></div>58</div>59<div class="cart-item">60<div class="p-checkbox">61<input type="checkbox" name="" id="" class="j-checkbox">62</div>63<div class="p-goods">64<div class="p-img">65<img src="img/p3.jpg" alt="">66</div>67<div class="p-msg">唐诗三百⾸+成语故事全2册⼀年级课外书精装注⾳⼉童版⼩学⽣⼆三年级课外阅读书籍</div> 68</div>69<div class="p-price">¥29.80</div>70<div class="p-num">71<div class="quantity-form">72<a href="javascript:;" class="decrement">-</a>73<input type="text" class="itxt" value="1">74<a href="javascript:;" class="increment">+</a>75</div>76</div>77<div class="p-sum">¥29.80</div>78<div class="p-action"><a href="javascript:;">删除</a></div>79</div>80</div>81<!-- 结算模块 -->82<div class="cart-floatbar">83<div class="select-all">84<input type="checkbox" name="" id="" class="checkall">全选85</div>86<div class="operation">87<a href="javascript:;" class="remove-batch">删除选中的商品</a>88<a href="javascript:;" class="clear-all">清理购物车</a>89</div>90<div class="toolbar-right">91<div class="amount-sum">已经选<em>1</em>件商品</div>92<div class="price-sum">总价:<em>¥12.60</em></div>93<div class="btn-area">去结算</div>94</div>95</div><!-- cart-floatbar end -->96</div><!-- cart-warp end -->97</div><!-- w end -->98</body>car.html1* {2 margin: 0;3 padding: 04 }5em,6i {7 font-style: normal;8 }9li {10 list-style: none;11 }12a {13 color: #666;14 text-decoration: none;15 }16a:hover {17 color: #e33333;18 }19body {20 font: 12px/1.5 'Microsoft YaHei', 'Heiti SC', tahoma, arial, 'Hiragino Sans GB', \\5B8B\4F53, sans-serif;21 color: #66622 }23.w {24 width: 1200px;25 margin: 0 auto;26 }27.cart-thead {28 height: 32px;29 line-height: 32px;30 margin: 5px 0 10px;31 padding: 5px 0;32 background: #f3f3f3;33 border: 1px solid #e9e9e9;34 border-top: 0;37.cart-thead>div,38.cart-item>div {39 float: left;40 }41.t-checkbox,42.p-checkbox {43 height: 18px;44 line-height: 18px;45 padding-top: 7px;46 width: 122px;47 padding-left: 11px;48 }49.t-goods {50 width: 400px;51 }52.t-price {53 width: 120px;54 padding-right: 40px;55 text-align: right;56 }57.t-num {58 width: 150px;59 text-align: center;60 }61.t-sum {62 width: 100px;63 text-align: right;64 }65.t-action {66 width: 130px;67 text-align: right;68 }69.cart-item {70 height: 160px;71 border-style: solid;72 border-width: 2px 1px 1px;73 border-color: #aaa #f1f1f1 #f1f1f1;74 background: #fff;75 padding-top: 14px;76 margin: 15px 0;77 }78.check-cart-item {79 background: #fff4e8;80 }81.p-checkbox {82 width: 50px;83 }84.p-goods {85 margin-top: 8px;86 width: 565px;87 }88.p-img {89 float: left;90 border: 1px solid #ccc;91 padding: 5px;92 }93.p-msg {94 float: left;95 width: 210px;96 margin: 0 10px;97 }98.p-price {99 width: 110px;100 }101.quantity-form {102 width: 80px;103 height: 22px;104 }105.p-num {106 width: 170px;107 }108.decrement,109.increment {110 float: left;111 border: 1px solid #cacbcb;112 height: 18px;113 line-height: 18px;114 padding: 1px 0;115 width: 16px;116 text-align: center;117 color: #666;118 background: #fff;121.itxt {122 float: left;123 border: 1px solid #cacbcb; 124 width: 42px;125 height: 18px;126 line-height: 18px;127 text-align: center;128 padding: 1px;129 margin-left: -1px;130 font-size: 12px;131 font-family: verdana;132 color: #333;133 -webkit-appearance: none; 134 }135.p-sum {136 font-weight: 700;137 width: 145px;138 }139.cart-floatbar {140 height: 50px;141 border: 1px solid #f0f0f0;142 background: #fff;143 position: relative;144 margin-bottom: 50px;145 line-height: 50px;146 }147.select-all {148 float: left;149 height: 18px;150 line-height: 18px;151 padding: 16px 0 16px 9px; 152 white-space: nowrap;153 }154.select-all input {155 vertical-align: middle;156 display: inline-block;157 margin-right: 5px;158 }159.operation {160 float: left;161 width: 200px;162 margin-left: 40px;163 }164.clear-all {165 font-weight: 700;166 margin: 0 20px;167 }168.toolbar-right {169 float: right;170 }171.amount-sum {172 float: left;173 }174.amount-sum em {175 font-weight: 700;176 color: #E2231A;177 padding: 0 3px;178 }179.price-sum {180 float: left;181 margin: 0 15px;182 }183.price-sum em {184 font-size: 16px;185 color: #E2231A;186 font-weight: 700;187 }188.btn-area {189 font-weight: 700;190 width: 94px;191 height: 52px;192 line-height: 52px;193 color: #fff;194 text-align: center;195 font-size: 18px;196 font-family: "Microsoft YaHei"; 197 background: #e54346;198 overflow: hidden;199 }car.css具体功能实现:1. 当全选按钮改变时,让⼩复选框按钮和全选按钮保持⼀致。

JQuery实现商城购物车基本功能

JQuery实现商城购物车基本功能

JQuery实现商城购物车基本功能通过jquery完成常见的商城购物车功能<div class="w"><div class='carTop w'><ul><li class="checkall"><input type="checkbox" class="j-checkall">全选</li><li class="top1">商品名称</li><li class="top2">单价</li><li class="top3">数量</li><li class="top4">⼩计</li><li class="top5">操作</li></ul></div><div class="info w "><ul><li class="car-check"><input type="checkbox" class="j-check"></li><li class="car-img"><img src="https:///n2/jfs/t1/132723/23/9020/82068/5f4f3b5cE54563bf4/dc0dfddc7dc85459.jpg!q80.webp"/></li> <li class="car-name"><a href="">TheNorthFace北⾯2020秋冬情侣款户外</a></li><li class="car-price">¥<span>182.50</span></li><li class="car-num"><a href="javascript:" class="btn sub" role="button"></a><input class="inputNum" value="1" size="1"><a href="javascript:" class="btn add" role="button"></a></li><li class="car-price-total">¥<span>182.50</span></li><li class="car-action"><a href="javascript:;" class="j-action">删除</a></li></ul></div><div class="info w "><ul><li class="car-check"><input type="checkbox" class="j-check"></li><li class="car-img"><img src="https:///n2/jfs/t1/132723/23/9020/82068/5f4f3b5cE54563bf4/dc0dfddc7dc85459.jpg!q80.webp"/></li> <li class="car-name"><a href="">TheNorthFace北⾯2020秋冬情侣款户外</a></li><li class="car-price">¥<span>339.00</span></li><li class="car-num"><a href="javascript:" class="btn sub" role="button"></a><input class="inputNum" value="1" size="1"><a href="javascript:" class="btn add" role="button"></a></li><li class="car-price-total">¥<span>339.00</span></li><li class="car-action"><a href="javascript:;" class="j-action">删除</a></li></ul><ul><li class="car-check"><input type="checkbox" class="j-check"></li><li class="car-img"><img src="https:///n2/jfs/t1/133459/13/9772/102396/5f5e4d51E1fbc0514/1b4d18d8053548c9.jpg!q80.webp"/></li> <li class="car-name"><a href="">圣罗兰(YSL)唇釉416#(⿊管唇釉)</a></li><li class="car-price">¥<span>335.00</span></li><li class="car-num"><a href="javascript:" class="btn sub" role="button"></a><input class="inputNum" value="1" size="1"><a href="javascript:" class="btn add" role="button"></a></li><li class="car-price-total">¥<span>335.00</span></li><li class="car-action"><a href="javascript:;" class="j-action">删除</a></li></ul></div><div class="carBottom"><ul><li class="checkall"><input type="checkbox" class="j-checkall">全选</li><li class="clear"><a href="javascript:;">删除选中</a></li><li class="clearAll"><a href="javascript:;">清空购物车</a></li><li class="totalPrice">总价<em>0.00</em>元</li><li class="car-total-num">⼀共选择了<span>0</span>件商品</li></ul></div></div>css部分* {padding: 0;margin: 0;}a {text-decoration: none;color: inherit}li {list-style: none;}.inputNum {vertical-align: middle;height: 22px;border: 1px solid #d0d0d0;text-align: center;}display: inline-block;vertical-align: middle;background: #f0f0f0 no-repeat center;border: 1px solid #d0d0d0;width: 24px;height: 24px;border-radius: 2px;box-shadow: 0 1px rgba(100, 100, 100, .1);color: #666;transition: color .2s, background-color .2s;}.btn:active {box-shadow: inset 0 1px rgba(100, 100, 100, .1);}.btn:hover {background-color: #e9e9e9;color: #333;}.add {background-image: linear-gradient(to top, currentColor, currentColor), linear-gradient(to top, currentColor, currentColor); background-size: 10px 2px, 2px 10px;}.sub {background-image: linear-gradient(to top, currentColor, currentColor);background-size: 10px 2px;}.w {width: 1000px;margin: 0px auto;background-color: rgb(238, 235, 235);}.carTop {height: 50px;}.carTop li,.carBottom li {float: left;border-bottom: 1px solid grey;text-align: center;margin: 0 10px;line-height: 50px;}.carBottom {height: 50px;border-bottom: 1px solid grey;border: 0;}.checkall {width: 120px;}.top1 {width: 300px;}.top2,.top4 {width: 100px;}.top3 {width: 150px;}.top5 {width: 100px;}.info {width: 1000px;height: 95px;background-color: #fff;border-bottom: 1px solid gray; }.info li {float: left;margin-top: 20px;}.car-check {margin-left: 50px;}.car-img {margin-left: 85px;}.car-img img {width: 50px;height: 50px;}.car-name {width: 200px;height: 20px;margin-left: 60px;}.car-num {margin-left: 65px;}.car-price-total {margin-left: 65px;}.car-action {margin-left: 80px;}.info a {font-size: 12px;color: #333333;}.clear,.clearAll {font-size: 12px;margin: left 20px;;}.carBottom .car-total-num,.carBottom .totalPrice {float: right;margin-right: 80px;color: rgb(243, 158, 30);font-weight: 700;}.car-total-num span,.totalPrice em {margin: 0 3px;color: #e2231a}.current {background-color: #fff4e8;}$(function() {// 全选框$(".j-checkall ").change(function() {$(".j-check,.j-checkall ").prop("checked", $(this).prop("checked")) if ($(".j-check").prop("checked")) {$(".j-check").parents(".info").removeClass("current");}numSum();Price()})// 单选框$(".j-check").change(function() {if ($(this).prop("checked")) {$(this).parents(".info").addClass("current");} else {$(this).parents(".info").removeClass("current");}// console.log($(".check:checked").length);if ($(".j-check:checked").length === $(".j-check").length) {$(".j-checkall").prop("checked", true)} else {$(".j-checkall").prop("checked", false)}numSum();Price()})// ⽂本框输⼊$(".inputNum").change(function() {var n = parseInt($(this).val())var p = $(this).parent().siblings(".car-price").children("span").text()if (n <= 0 || isNaN(n)) {$(this).val("1")n = 1}$(this).parent().siblings(".car-price-total").children("span").text(parseInt(p * n))numSum()Price()})// 加按钮$(".add").click(function() {var n = $(this).siblings("input").val()n++$(this).siblings(".inputNum").val(n)var p = $(this).parent().siblings(".car-price").children("span").text()// console.log(p);$(this).parent().siblings(".car-price-total").children("span").text((p * n).toFixed(2))})// 减按钮$(".sub").click(function() {var n = $(this).siblings("input").val()if (n <= 1) {return false}n--;$(this).siblings(".inputNum").val(n)var p = $(this).parent().siblings(".car-price").children("span").text()// console.log(p);$(this).parent().siblings(".car-price-total").children("span").text((p * n).toFixed(2)) numSum();Price()})// 删除单个$(".j-action").click(function() {$(this).parents(".info").remove()numSum();Price()})// 删除选中$(".clear").click(function() {$(".j-check:checked").parents(".info").remove();numSum();Price()})// 清空购物车$(".clearAll").click(function() {$(this).parents().siblings(".info").remove()numSum();Price()})function numSum() {var num = 0$(".j-check").each(function() {if (this.checked == true) {var a = $(this).parent().siblings(".car-num").children(".inputNum").val();num += Number(a);}});$('.car-total-num').children("span").text((num));// console.log(num);}function Price() {var sum = 0;$(".j-check").each(function() {if (this.checked == true) {var a = $(this).parent().siblings(".car-price-total").children("span").text(); sum += Number(a);}});$('.totalPrice').children("em").text((sum).toFixed(2));// console.log(sum);}})。

js实现购物车加减以及价格计算功能

js实现购物车加减以及价格计算功能

js实现购物车加减以及价格计算功能本⽂实例为⼤家分享了js实现购物车加减以及价格计算的具体代码,供⼤家参考,具体内容如下需求说明:1、单击“半闭”按钮时,关闭当前页⾯购物车页⾯2、单击“移⼊收藏”弹出收藏提⽰3、单击“删除”弹出确认删除提⽰4、单击“结算”按钮,弹出结算信息页⾯窗⼝5、⾃动计算商品总计6、单击“删除”按钮,使⽤parentNode访问当前节点的⽗亲节点等,使⽤removeChild( )删除当前商品效果图:代码:<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>完善当当购物车页⾯</title><style type="text/css">body,ul,li,div,p,h1,h2,ol{margin: 0;padding: 0;}ul,li,ol{list-style: none;}.content{width: 810px; margin: 0 auto; font-family: "微软雅⿊";}.logo{margin: 10px 0;}.logo span{display: inline-block;float: right;width: 60px;height: 30px;line-height: 30px;font-size: 14px;background: #ff0000;color: #ffffff;text-align: center;border-radius: 10px;margin-top: 5px;margin-right: 10px;cursor: pointer;font-weight: bold;}.cartList{/*background: url("../image/02.jpg") no-repeat;*//*height: 414px;*/overflow: hidden;}.cartList ul{display: flex;justify-content: space-between;/*float: right;*//*width: 450px;*/}.cartList ul:nth-of-type(1){display: flex;margin-top: 125px;}.cartList ul:nth-of-type(2){margin: 20px 0;}.cartList ul li{font-family: "微软雅⿊";font-size: 12px;color: #666666;text-align: center;line-height: 25px;/*float: left;*/}.cartList ul li input[name="price"]{border: none;background: transparent;width: 45px;text-align: center;}.cartList ul li input[name="amount"]{width: 45px;text-align: center;border: 1px solid #999999;border-left: none;border-right: none;height: 21px;}.cartList ul li input[name="minus"],.cartList ul li input[name="plus"]{height: 25px;border: 1px #999999 solid;width: 25px;text-align: center;}.cartList ul li:nth-of-type(1){width: 130px;}.cartList ul li:nth-of-type(2){width: 100px;}.cartList ul li:nth-of-type(3){width: 130px;}.cartList ul li p{cursor: pointer;}.cartList ol{float: right;clear: both;margin-top: 40px;}.cartList ol li{float: left;}.cartList ol li:nth-of-type(1){color: #ff0000;width: 80px;height: 35px;line-height: 35px;text-align: center;}.cartList ol li span{display: inline-block;float: right;width: 80px;height: 35px;line-height: 35px;font-size: 14px;font-family: "微软雅⿊";background: #ff0000;color: #ffffff;text-align: center;/*margin-top: 5px;*//*margin-right: 15px;*/cursor: pointer;font-weight: bold;}</style></head><!--onload,在加载时计算好原始⾦额--><body onload="total()"><div class="content"><div class="logo"><span onclick="javascript:if (confirm('确认要关闭吗'))window.close() ">关闭</span></div><div class="cartList"><ul><li>商品信息</li><li>商品图⽚</li><li>单价(元)</li><li>数量</li><li>⾦额(元)</li><li>操作</li></ul><ul style="display: flex;justify-content: space-between;align-items: center" id="first"><li>《平凡的世界》</li><li><img src="./img/1.png" alt="" width="50" height="50"></li><li>¥<input type="text" name="price" value="21.90"></li><li><input type="button" name="minus" value="-" onclick="minus(0)"><input type="text" name="amount" value="1"><input type="button" name="plus" value="+" onclick="plus(0)" ></li> <li id="price0">¥21.90</li><li><p onclick="save()">移⼊收藏</p><p onclick="delete1()">删除</p></li></ul><ul style="display: flex;justify-content: space-between;align-items: center; margin: 20px 0;"><li>《昆⾍记》</li><li><img src="./img/2.png" alt="" width="50" height="50"></li><li>¥<input type="text" name="price" value="24.00"></li><li><input type="button" name="minus" value="-" onclick="minus(1)"><input type="text" name="amount" value="1"><input type="button" name="plus" value="+" onclick="plus(1)"></li> <li id="price1">¥24.00</li><li><p onclick="save()">移⼊收藏</p><p onclick="delete1()">删除</p></li></ul><ol><li id="totalPrice">&nbsp;</li><li><span>结算</span></li></ol></div></div></body></html><script>//减法function minus(index) {//获取当前数量的值var amounts=document.getElementsByName("amount");//得到第⼀个amount的元素的value属性的值var count=parseInt(amounts[index].value); //数量加1if (count<=1){alert("不能再减了,快没了!!");} else {//得到第⼀个amount的元素的value属性的值var count=parseInt(amounts[index].value)-1; //数量加1//重新把count的值绑定在数量⽂本框⾥amounts[index].value=count;var prices=document.getElementsByName("price");var price=parseFloat(prices[index].value);//乘以Math.pow(10,2)的原因为避免失真var totalMoney=((price*Math.pow(10,2))*count)/Math.pow(10,2);document.getElementById("price"+index).innerHTML="¥:"+totalMoney;}total();}//加法function plus(index) {//获取当前数量的值var amounts=document.getElementsByName("amount");//得到第⼀个amount的元素的value属性的值var count=parseInt(amounts[index].value)+1; //数量加1//重新把count的值绑定在数量⽂本框⾥amounts[index].value=count;//当前操作端⼝的价格也要重新计算//得到当前端⼝的单价var prices=document.getElementsByName("price");var price=parseFloat(prices[index].value);//乘以Math.pow(10,2)的原因为避免失真var totalMoney=((price*Math.pow(10,2))*count)/Math.pow(10,2);//把当前价格显⽰在⽂本中document.getElementById("price"+index).innerHTML="¥:"+totalMoney;total();}//求总⾦额function total() {//得到所有的数量var counts=document.getElementsByName("amount");//得到所有的单价var prices=document.getElementsByName("price");var sumMoney=0;for (var i=0;i<counts.length;i++){//乘以Math.pow(10,2)的原因为避免失真sumMoney+=(parseFloat(prices[i].value)*Math.pow(10,2)*parseInt(counts[i].value)/Math.pow(10,2)); }//把总⾦额显⽰再指定的元素中document.getElementById("totalPrice").innerHTML="¥:"+sumMoney;}//加⼊收藏function save() {if (confirm("确认要收藏吗?")){alert("收藏成功!");}}//删除function delete1() {if (confirm("确认要删除吗?")) {var del=document.getElementById("first");del.parentNode.removeChild(del);alert("删除成功!!");}}</script>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

jquery实现购物车基本功能

jquery实现购物车基本功能

jquery实现购物车基本功能购物车⾥的功能⽆⾮是商品数量的加减、商品删除、全选反选等操作,其实现过程如下所⽰:1.html代码:<body><div class="empty">购物车空空如也,<a href="javascript:void(0);" >快去选购吧</a></div><table border="2px solid #ccc" id="table"><thead><th><input type="checkbox" class="checkOnly" style="vertical-align:middle;margin-right:20px;">全选</th><th>序号</th><th>商品名称</th><th>数量</th><th>单价</th><th>⼩计</th><th>操作</th></thead><tbody><tr><td><input type="checkbox" class="check"></td><td class="num">1</td><td>烤煎饼</td><td><span><input type="button" value="-" class="reduces"><span class="span">1</span><input type="button" value="+" class="adds"></span></td><td>单价:<span class="price">2</span></td><td>⼩计:<span class="prices">2</span></td><td><a href="#" class="del">删除</a></td></tr><tr><td><input type="checkbox" class="check"></td><td class="num">2</td><td>珍珠奶茶</td><td><span><input type="button" value="-" class="reduces"><span class="span">1</span><input type="button" value="+" class="adds"></span></td><td>单价:<span class="price">4</span></td><td>⼩计:<span class="prices">4</span></td><td><a href="#" class="del">删除</a></td></tr><tr><td class="num">3</td><td>⽔煮鱼</td><td><span><input type="button" value="-" class="reduces"> <span class="span">1</span><input type="button" value="+" class="adds"> </span></td><td>单价:<span class="price">20</span></td><td>⼩计:<span class="prices">20</span></td><td><a href="#" class="del">删除</a></td></tr><tr><td><input type="checkbox" class="check"></td><td class="num">4</td><td>蛋糕</td><td><span><input type="button" value="-" class="reduces"> <span class="span">1</span><input type="button" value="+" class="adds"> </span></td><td>单价:<span class="price">50</span></td><td>⼩计:<span class="prices">50</span></td><td><a href="#" class="del">删除</a></td></tr><tr><td><input type="checkbox" class="check"></td><td class="num">5</td><td>⼟⾖⽚</td><td><span><input type="button" value="-" class="reduces"> <span class="span">1</span><input type="button" value="+" class="adds"> </span></td><td>单价:<span class="price">5</span></td><td>⼩计:<span class="prices">5</span></td><td><a href="#" class="del">删除</a></td></tr><tr><td><input type="checkbox" class="check"></td><td class="num">6</td><td>蛋黄派</td><input type="button" value="-" class="reduces"><span class="span">1</span><input type="button" value="+" class="adds"></span></td><td>单价:<span class="price">5.5</span></td><td>⼩计:<span class="prices">5.5</span></td><td><a href="#" class="del">删除</a></td></tr><tr><td colspan="7" class="talast"><span>商品⼀共<span class="goods_num" style="color:red;font-size:20px;">0</span> 件; 共计花费<span class="pricetal" style="color:red;font-size:20px;">0</span> 元; 其中最贵的商品单价是 <span class="pricest" style="color:red;font-size:20px;">0</span> 元</span></td></tr></tbody></table></body>2.css代码:<style type="text/css">table {width: 1000px;/* height: 300px; */border-collapse: collapse;table-layout: fixed;text-align: center;font-size: 18px;margin: 0 auto;}a {text-decoration: none;color: black;}tr {height: 50px;}.check {width: 20px;height: 20px;}.checkOnly {width: 20px;height: 20px;}.empty {font-size: 25px;position: fixed;top: 45%;left: 45%;display: none;}.empty a {color: pink;}.empty a:hover {text-decoration: underline;3.js代码:<script src="js/jquery-1.8.3.min.js"></script> //引⼊jquery<script src="js/Allcheck.js"></script> //引⼊封装好的全选反选插件<script>$(function () {$(".adds").each(function () { //点击增加的按钮$(this).click(function () {//1.改变数量var count = parseFloat($(this).parents("tr").find(".span").html());count++;$(this).parent("span").find(".span").html(count);//2.改⼩计(先找到单价与数量,再相乘,最后放在⼩计(“.prices”)⾥)var price = parseFloat($(this).parents("tr").find(".price").html());var money = (price * count);$(this).parents("tr").find(".prices").html(money);//3.改总价total();countAll();//最后的总数量compare();//选中复选框时⽐较商品单价中最⾼的});});$(".reduces").each(function () {//点击减少的按钮$(this).click(function () {//1.改变数量var count = parseFloat($(this).parents("tr").find(".span").html());count--;if (count < 1) { //当数量减到1时不能再减return;}$(this).parent("span").find(".span").html(count);//2.改⼩计var price = parseFloat($(this).parents("tr").find(".price").html());var money = (price * count);$(this).parents("tr").find(".prices").html(money);total();countAll();//最后的总数量compare();//选中复选框时⽐较商品单价中最⾼的});});//删除$(".del").each(function () {$(this).click(function () {let re = $(this).parents("tr"); //找到要删除的⾏if (confirm("你确定删除吗?")) {re.remove();}total();countAll(); //总数量compare(); //最贵的//删除后重新排序号for (let i = 0; i < $(".num").length; i++) {$(".num")[i].innerHTML = i + 1;}//全都删除时清空table(通过获取tbody的⾼度来判断)let clear = $("tbody").height();if (clear == 50) {$("table").remove();$(".empty").css({ //删完时显⽰"购物车为空"这个盒⼦display: "block"});}});});//合计function total() {let sum = 0;$(".prices").each(function () {//先循环每个⼩计if (($(this).parents("tr").find(".check")).prop("checked")) {//判断复选框有没有选中 sum += parseFloat($(this).html());}$(".pricetal").html(sum);});function countAll() {let counts = 0;for(let i=0;i<$(".check").length;i++){if($(".check")[i].checked==true){ //注意此块⽤jquery不好实现counts+=parseInt( $('.span')[i].innerHTML);}}$(".goods_num")[0].innerHTML=counts;}//最贵商品⽐较function compare() {let temp = 0;for (let i = 0; i < $(".price").length; i++) { //循环单价if($(".check")[i].checked==true){var temps = parseFloat($(".price")[i].innerHTML);if (temps > temp) {temp = temps;}}};$(".pricest").html(temp);}//全选插件(引⼊插件Allcheck.js)$(".checkOnly").bindCheck($("#table :checkbox"));//当点击复选框时调⽤total()$(".check").each(function (){$(this).click(function () {let num = 0;$(".check").each(function () {if ($(this).prop("checked")) {num++;}countAll();total();compare(); //最贵的});if(num == $(".check").length){//如果复选框的长度与num相等时,全选那个按钮也会被选中$(".checkOnly")[0].checked = true;compare(); //最贵的countAll(); //总数量total();}else{$(".checkOnly")[0].checked = false;}});});$(".checkOnly").click(function () {total();countAll(); //总数量compare(); //最贵的});});</script>补充上⾯js代码中⽤到的全选反选插件 \color{red}{补充上⾯js代码中⽤到的全选反选插件}补充上⾯js代码中⽤到的全选反选插件//1、定义全选的插件jQuery.fn.extend({bindCheck:function($subCheckBox,$btnUncheck){let $allCheckBox = this;//1、给全选复选框绑定click事件//this:是全选复选框(jQuery对象)this.click(function(){let isChecked = this.checked;$subCheckBox.each(function(){this.checked = isChecked;});});//2、给反选if(arguments.length==2){$btnUncheck.click(function(){$subCheckBox.each(function(){reversCheck();});}//3、给每个选择项的复选框绑定事件$subCheckBox.click(function(){reversCheck();});function reversCheck(){//1、判断是否全部的复选框被选中let isAllChecked = true;$subCheckBox.each(function(){if(!this.checked){isAllChecked = false;}});//2、处理全选复选框$allCheckBox.attr("checked",isAllChecked);}}});效果如下图所⽰:以上就是⼀个功能⽐较完整的购物车,有问题或者建议欢迎指出。

用javascript实现的购物车实例

用javascript实现的购物车实例

⽤javascript实现的购物车实例基于javascript实现的购物车实例:⾸先是效果和功能,如下图所⽰,具有购物车的基本功能。

包括1、选中和全选商品;2、商品数量的增减;3、单个商品价格的计算;4、总价的计算;5、删除商品。

⼀、界⾯布局使⽤的是table来进⾏布局,由于⽤js来获取tr 和 td节点的时候,可以获取带下标的元素集合,操作起来较为便利。

html+css的代码如下:1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>购物车</title>6 <style>7 *{margin:0px; padding:0px;}8 table,td,td{9 border:1px solid #000000;10 font-size:10px;11 }12 table{13 display: block;14 }1516 img{17float:left;18 }19 tr{20 text-align: center;21 }22 #box{23 width:900px;24 }2526 #cart{27float:left;28 border-collapse:collapse;29 }30 #head{31 background:#F0FFFF;32 }33 #settlement{34 margin-top:20px;35 width:805px;36 height:30px;37 border:1px solid #EBEBEB;38float:left;39 background: #EBEBEB;4041 font-size:10px;42 line-height:30px ;43 }44 #settlement div{45float:left;46 }47 #addupto{48 color:#ff0000;49 font-weight:700;50 }51 #NumofGoods{52 color:#ff0000;53 font-weight:700;54 }5556 .goods{57 padding:5px;58 text-align: left;59 }60 .number{61 position:relative;62 left:19px;63 width:60px;64 height:10px;65 border:1px solid #cccccc;66 }6768 .acc{69 width:40px;70 height:10px;71 border-left:0px solid #cccccc;72 border-right:0px solid #cccccc;73 line-height: 10px;74float:left;75 }76 .desymbol{77 width:10px;78 height:10px;79 line-height: 10px;80 background:#ccc;81float:left;82 cursor:pointer;83 }84 .adsymbol{85 width:10px;86 height:10px;87 line-height: 10px;88 background:#ccc;89float:right;90 cursor: pointer;91 }92/*.dele{93 cursor: pointer;94 }*/95 .total{96 color:#ff0000;97 font-weight:700;98 }99 </style>100 </head>101 <body>102 <div id="box">103 <table id="cart">104 <tr id="head">105 <td width="50px"><input class="allSelect" type="checkbox"> 全选</td>106 <td width="400px;">商品</td>107 <td width="100px">单价</td>108 <td width="100px">数量</td>109 <td width="100px">⼩计</td>110 <td width="50px">操作</td>111 </tr>112 <tr>113 <td><input class="select" type="checkbox"></td>114 <td class="goods"><img src="img/goods1.jpg">外星⼈笔记本电脑17 R4 15R3 13⼨ 17⼨ alienware今晚吃鸡游戏本</td> 115 <td class="price">12888.00</td>116 <td>117 <div class="number">118 <div class="desymbol">-</div>119 <div class="acc">1</div>120 <div class="adsymbol">+</div>121 </div>122 </td>123 <td class="total"></td>124 <td class="dele">删除</td>125 </tr>126 <tr>127 <td><input class="select" type="checkbox"></td>128 <td class="goods"><img src="img/goods2.jpg">任天堂(Nintendo)Switch 家⽤游戏机掌机NS智能体感游戏主机</td> 129 <td class="price">2258.00</td>130 <td>131 <div class="number">132 <div class="desymbol">-</div>133 <div class="acc">1</div>134 <div class="adsymbol">+</div>135 </div>136 </td>137 <td class="total"></td>138 <td class="dele">删除</td>139 </tr>140 <tr>141 <td><input class="select" type="checkbox"></td>142 <td class="goods"><img src="img/goods3.jpg">Microsoft/微软 Surface Pro i5 8G 256G 笔记本平板电脑⼆合⼀</td> 143 <td class="price">4999.00</td>144 <td>145 <div class="number">146 <div class="desymbol">-</div>147 <div class="acc">1</div>148 <div class="adsymbol">+</div>149 </div>150 </td>151 <td class="total"></td>152 <td class="dele">删除</td>153 </tr>154 <tr>155 <td><input class="select" type="checkbox"></td>156 <td class="goods"><img src="img/goods4.jpg">Apple/苹果10.5英⼨ iPad Pro</td>157 <td class="price">3666.00</td>158 <td>159 <div class="number">160 <div class="desymbol">-</div>161 <div class="acc">1</div>162 <div class="adsymbol">+</div>163 </div>164 </td>165 <td class="total"></td>166 <td class="dele">删除</td>167 </tr>168 </table>169170 <div id="settlement">171 <div style="width:550px"><input class="allSelect" type="checkbox"> 全选</div>172 <div style="width:120px">全选商品<span id="NumofGoods"></span><span>件^</span></div>173 <div style="width:80px">合计:¥<span id="addupto"></span></div>174 <div style="width:50px;text-align: center;border-left:1px solid #000000;">结算</div>175 </div>176177 </div>178179 <script src="cart.js"></script>180 </body>181 </html>View Code⼆、javascript代码⾃⾏封装了getClasses()函数,避免兼容性问题。

Web前端开发与设计13-购物车案例

Web前端开发与设计13-购物车案例

Web前端开发与设计13-购物车案例说明使⽤js脚本实现商品的添加、修改、删除、价格计算。

⽰例代码<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript实现购物车功能</title><style type="text/css">.num {width: 30px;}</style><!--⼊jquery--><script src="script/jquery-1.12.4.js"></script><script>//1.实现全选的效果function checkAll() {let eles = document.getElementsByName("product");//获取的是对象集合//console.log(eles);//调试代码for (let i = 0; i < eles.length; i++) {eles[i].checked = document.getElementById("checkall").checked;}}//2.实现选择商品改变全选框的效果function checkProduct() {let ckall = document.getElementById("checkall");//全选框let eles = document.getElementsByName("product");//获取商品选框对象集合let size = eles.length;//商品数⽬let total = 0;//选中的商品数⽬//遍历集合,判断商品是否都被选中for (let i = 0; i < size; i++) {if (eles[i].checked == false) {ckall.checked = false;break;//中断循环} else {total += 1;}}//判断是否已经遍历完成if (total == size) {ckall.checked = true;}}//jquery开发环境$(function () {//alert("hello jquey!");//3.实现增加商品数量$("#mycart").find(".add").click(function () {let $_pre = $(this).prev();//console.log($_pre);let num = parseInt($_pre.val());//alert(num);$_pre.val(num + 1);//数量+1//改变⼩计⾦额let price=$_pre.parent().prev().text();//读取价格$_pre.parent().next().text(parseInt(price)*(num+1));totalPrice();})//4.减少商品数量$("#mycart").find(".sub").click(function () {let $_next = $(this).next();let num = parseInt($_next.val());if (num < 2) {let result = confirm("确定删除该商品?");if (result == true) {$_next.parent().parent().remove();//删除商品totalPrice();}} else {$_next.val(num - 1);//数量-1//改变⼩计⾦额let price=$_next.parent().prev().text();//读取价格$_next.parent().next().text(parseInt(price)*(num-1));totalPrice();}})//5.增加商品效果$("#addProduct").click(function () {let $_newRow =$("#mycart").find("tr").eq(1).clone(true);$("#mycart").find("tr").eq(1).after($_newRow);totalPrice();})//6.总计价格function totalPrice() {var sum=0;$(".total").each(function (i,e) {sum+=parseInt($(e).text());})$("#sum").text(sum);}//执⾏计算总价totalPrice();})</script></head><body><button id="addProduct">增加商品</button><hr><table id="mycart" border="1px"><tr><th>全选<input type="checkbox" id="checkall" onclick="checkAll()"></th><th>品名</th><th>价格</th><th>数量</th><th>⼩计</th></tr><tr><td><input type="checkbox" name="product" onclick="checkProduct()"></td> <td>⾐服</td><td>800</td><td><button class="sub">-</button><input type="text" name="num" class="num" value="1"><button class="add">+</button></td><td class="total">800</td></tr><tr><td><input type="checkbox" name="product" onclick="checkProduct()"></td> <td>鞋⼦</td><td>500</td><td><button class="sub">-</button><input type="text" name="num" class="num" value="1"><button class="add">+</button></td><td class="total">500</td></tr><tr><td colspan="3">总计</td><td colspan="2" id="sum">888</td></tr></table></body></html>。

购物车前端开发(jQuery和bootstrap3)

购物车前端开发(jQuery和bootstrap3)

购物车前端开发(jQuery和bootstrap3)作为⼀名不在软件公司⼯作的软件⼯程师,不仅要会写后台代码(PHP/JAVA/SQL...),还是兼顾前端⼯程师的⼯作(html/javascript/css...)。

下⾯就来分享⼀个在实际⼯作项⽬中使⽤到的购物车的前端开发。

这⾥分享的仅仅是针对购物车的操作(产品数量的增加减少,删除购物车中产品项),假设购物车中已经放有若⼲产品。

闲话少说,先上两张效果图。

HTML代码如下:这⾥使⽤到了JQuery1.11和bootstrap3 。

<!DOCTYPE html><html><HEADER><meta charset="UTF-8"><title>Shopping Cart</title><script type="text/javascript" src="jquery-1.11.min.js"></script><script type="text/javascript" src="demo.js"></script><link href="bootstrap.min.css" media="screen" rel="stylesheet" type="text/css" /></HEADER><body class="container"><table id="cartTable" class="cart table table-condensed" ><thead><tr><th style="width:60px;"><label><input class="check-all check" type="checkbox" /> 全选</label></th><th><label>产品型号</label></th><th style="width:100px;"><label>单价</label></th><th style="width:120px;"><label>数量</label></th><th style="width:100px;"><label>⼩计</label></th><th style="width:40px;"><label>操作</label></th></tr></thead><tbody><tr ><td ><input class="check-one check" type="checkbox" /> </td><td class="goods"><label>Item 1</label></td><td class="number small-bold-red"><span>76.55</span></td><td class="input-group"><span class="input-group-addon minus">-</span><input type="text" class="number form-control input-sm" value="10" /><span class="input-group-addon plus">+</span></td><td class="subtotal number small-bold-red">101</td><td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td></tr><tr><td ><input class="check-one check" type="checkbox" /></td><td class="goods"><label>Item 2</label></td><td class="number small-bold-red"><span>1100</span></td><td class="input-group"><span class="input-group-addon minus">-</span><input type="text" class="number form-control input-sm" value="1" /><span class="input-group-addon plus">+</span></td><td class="subtotal number small-bold-red">352</td><td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td></tr><tr><td ><input class="check-one check" type="checkbox" /></td><td class="goods"><label>Item 3</label></td><td class="number small-bold-red"><span>1200</span></td><td class="input-group"><span class="input-group-addon minus">-</span><input type="text" class="number form-control input-sm" value="1" /><span class="input-group-addon plus">+</span></td><td class="subtotal number small-bold-red">9876.55</td><td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td></tr><tr><td ><input class="check-one check" type="checkbox" /></td><td class="goods"><label>Item 4</label></td><td class="number small-bold-red"><span>1400</span></td><td class="input-group"><span class="input-group-addon minus">-</span><input type="text" class="number form-control input-sm" value="1" /><span class="input-group-addon plus">+</span></td><td class="subtotal number small-bold-red">9876.55</td><td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td></tr></tbody></table><div class="row"><div class="col-md-12 col-lg-12 col-sm-12"><div style="border-top:1px solid gray;padding:4px 10px;"><div style="margin-left:20px;" class="pull-right total"><label>⾦额合计:<span class="currency">¥</span><span id="priceTotal" class="large-bold-red">0.00</span></label></div><div class="pull-right"><label>您选择了<span id="itemCount" class="large-bold-red" style="margin:0 4px;"></span>种产品型号,共计<span id="qtyCount" class="large-bold-red" style="margin:0 4px;"></span>件</label> </div><div class="pull-right selected" id="selected"><span id="selectedTotal"></span></div></div></div></div></body></html>HTML代码主要分为两⼤块,TABLE部分⽤于显⽰购物车内的产品明细,在其后使⽤了⼀个DIV⽤于显⽰汇总信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

jQuery实现购物车多物品数量的加减+总价计算
作者:字体:[增加减小] 类型:转载
这篇文章主要介绍了jQuery实现购物车多物品数量的加减+总价计算,需要的朋友可以参考下
复制代码代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o rg/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<title>jQuery实现购物车多物品数量的加减+总价计算</title>
<script type="text/javascript" src="/jquery-1.6.1.min.js "></script>
<script>
$(function(){
$(".add").click(function(){
var t=$(this).parent().find('input[class*=text_box]');
t.val(parseInt(t.val())+1)
setTotal();
})
$(".min").click(function(){
var t=$(this).parent().find('input[class*=text_box]');
t.val(parseInt(t.val())-1)
if(parseInt(t.val())<0){
t.val(0);
}
setTotal();
})
function setTotal(){
var s=0;
$("#tab td").each(function(){
s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).fi nd('span[class*=price]').text());
});
$("#total").html(s.toFixed(2));
}
setTotal();
})
</script>
</head>
<body>
<table id="tab">
<tr>
<td>
<span>单价:</span><span class="price">1.50</span>
<input class="min" name="" type="button" value="-" />
<input class="text_box" name="" type="text" value="1" />
<input class="add" name="" type="button" value="+" />
</td>
</tr>
<tr>
<td>
<span>单价:</span><span class="price">3.95</span>
<input class="min" name="" type="button" value="-" />
<input class="text_box" name="" type="text" value="1" /> <input class="add" name="" type="button" value="+" />
</td>
</tr>
</table>
<p>总价:<label id="total"></label></p>
</body>
</html>。

相关文档
最新文档