jquery购物车结算功能实现方法

先看看购物车结算效果:

具体代码:

<!DOCTYPE html>
<html lang="en"> 

<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>购物车结算</title>
 <meta name="description" content="">
 <meta name="keywords" content="">
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
 <meta name="format-detection" content="telephone=no" />
 <meta name="renderer" content="webkit">
 <!--<![endif]-->
 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="apple-mobile-web-app-status-bar-style" content="black">
 <style>
 .shop-total,
 .all-total {
 height: 50px;
 line-height: 50px;
 font-weight: bold;
 color: #f00;
 float: left;
 } 

 .one-shop,
 .all-total,
 .shop-total {
 width: 400px;
 } 

 p {
 margin: 0;
 } 

 .goods-check {
 width: 25px;
 height: 25px;
 margin-top: 5px;
 } 

 .goods-msg,
 p,
 label {
 float: left;
 }
 </style>
</head> 

<body>
 <!-- 一个店铺 -->
 <div class="one-shop">
 <!-- 一个商品 -->
 <div class="one-goods">
  <div class="goods-msg">
  <label for="">
   <input type="checkbox" class="goods-check GoodsCheck">
  </label>
  <button type="button" class="minus">-</button>
  <input type="text" class="am-num-text" value="1" />
  <button type="button" class="plus">+</button>
  </div>
  <p>商品单价:¥<span class="shop-total-amount GoodsPrice">20.00</span></p>
 </div>
 <!-- 一个商品 -->
 <div class="one-goods">
  <div class="goods-msg">
  <label for="">
   <input type="checkbox" class="goods-check GoodsCheck">
  </label>
  <button type="button" class="minus">-</button>
  <input type="text" class="am-num-text" value="1" />
  <button type="button" class="plus">+</button>
  </div>
  <p>商品单价:¥<span class="shop-total-amount GoodsPrice">9.90</span></p>
 </div>
 <!-- 一个商品 -->
 <div class="one-goods">
  <div class="goods-msg ">
  <label for="">
   <input type="checkbox" class="goods-check GoodsCheck">
  </label>
  <button type="button" class="minus">-</button>
  <input type="text" class="am-num-text" value="1" />
  <button type="button" class="plus">+</button>
  </div>
  <p>商品单价:¥<span class="shop-total-amount GoodsPrice">10.00</span></p>
 </div>
 <!-- 店铺合计 -->
 <div class="shop-total">
  <label for="">
  <input type="checkbox" class="goods-check ShopCheck">店铺全选 </label>
  <p>本店合计:¥<span class="shop-total-amount ShopTotal">0</span></p>
 </div>
 </div>
 <!-- 一个店铺 -->
 <div class="one-shop">
 <!-- 一个商品 -->
 <div class="one-goods">
  <div class="goods-msg">
  <label for="">
   <input type="checkbox" class="goods-check GoodsCheck">
  </label>
  <button type="button" class="minus">-</button>
  <input type="text" class="am-num-text" value="1" />
  <button type="button" class="plus">+</button>
  </div>
  <p>商品单价:¥<span class="shop-total-amount GoodsPrice">30.00</span></p>
 </div>
 <!-- 一个商品 -->
 <div class="one-goods">
  <div class="goods-msg">
  <label for="">
   <input type="checkbox" class="goods-check GoodsCheck">
  </label>
  <button type="button" class="minus">-</button>
  <input type="text" class="am-num-text" value="1" />
  <button type="button" class="plus">+</button>
  </div>
  <p>商品单价:¥<span class="shop-total-amount GoodsPrice">20.00</span></p>
 </div>
 <!-- 店铺合计 -->
 <div class="shop-total">
  <label for="">
  <input type="checkbox" class="goods-check ShopCheck">店铺全选 </label>
  <p>本店合计:¥<span class="shop-total-amount ShopTotal">0</span></p>
 </div>
 </div>
 <!-- 总计 -->
 <div class="all-total">
 <label for="">
  <input type="checkbox" class="goods-check" id="AllCheck">全选 </label>
 <p>总价合计:¥<span class="shop-total-amount" id="AllTotal">0</span></p>
 </div>
 <script src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
 <script>
 // 数量减
 $(".minus").click(function() {
 var t = $(this).parent().find('.am-num-text');
 t.val(parseInt(t.val()) - 1);
 if (t.val() <= 1) {
  t.val(1);
 }
 TotalPrice();
 });
 // 数量加
 $(".plus").click(function() {
 var t = $(this).parent().find('.am-num-text');
 t.val(parseInt(t.val()) + 1);
 if (t.val() <= 1) {
  t.val(1);
 }
 TotalPrice();
 });
 // 点击商品按钮
 $(".GoodsCheck").click(function() {
 var goods = $(this).closest(".one-shop").find(".GoodsCheck"); //获取本店铺的所有商品
 var goodsC = $(this).closest(".one-shop").find(".GoodsCheck:checked"); //获取本店铺所有被选中的商品
 var Shops = $(this).closest(".one-shop").find(".ShopCheck"); //获取本店铺的全选按钮
 if (goods.length == goodsC.length) { //如果选中的商品等于所有商品
  Shops.prop('checked', true); //店铺全选按钮被选中
  if ($(".ShopCheck").length == $(".ShopCheck:checked").length) { //如果店铺被选中的数量等于所有店铺的数量
  $("#AllCheck").prop('checked', true); //全选按钮被选中
  TotalPrice();
  } else {
  $("#AllCheck").prop('checked', false); //else全选按钮不被选中
  TotalPrice();
  }
 } else { //如果选中的商品不等于所有商品
  Shops.prop('checked', false); //店铺全选按钮不被选中
  $("#AllCheck").prop('checked', false); //全选按钮也不被选中
  // 计算
  TotalPrice();
  // 计算
 }
 });
 // 点击店铺按钮
 $(".ShopCheck").change(function() {
 if ($(this).prop("checked") == true) { //如果店铺按钮被选中
  $(this).parents(".one-shop").find(".goods-check").prop('checked', true); //店铺内的所有商品按钮也被选中
  if ($(".ShopCheck").length == $(".ShopCheck:checked").length) { //如果店铺被选中的数量等于所有店铺的数量
  $("#AllCheck").prop('checked', true); //全选按钮被选中
  TotalPrice();
  } else {
  $("#AllCheck").prop('checked', false); //else全选按钮不被选中
  TotalPrice();
  }
 } else { //如果店铺按钮不被选中
  $(this).parents(".one-shop").find(".goods-check").prop('checked', false); //店铺内的所有商品也不被全选
  $("#AllCheck").prop('checked', false); //全选按钮也不被选中
  TotalPrice();
 }
 });
 // 点击全选按钮
 $("#AllCheck").click(function() {
 if ($(this).prop("checked") == true) { //如果全选按钮被选中
  $(".goods-check").prop('checked', true); //所有按钮都被选中
  TotalPrice();
 } else {
  $(".goods-check").prop('checked', false); //else所有按钮不全选
  TotalPrice();
 }
 $(".ShopCheck").change(); //执行店铺全选的操作
 }); 

 function TotalPrice() {
 var allprice = 0; //总价
 $(".one-shop").each(function() { //循环每个店铺
  var oprice = 0; //店铺总价
  $(this).find(".GoodsCheck").each(function() { //循环店铺里面的商品
  if ($(this).is(":checked")) { //如果该商品被选中
   var num = parseInt($(this).parents(".one-goods").find(".am-num-text").val()); //得到商品的数量
   var price = parseFloat($(this).parents(".one-goods").find(".GoodsPrice").text()); //得到商品的单价
   var total = price * num; //计算单个商品的总价
   oprice += total; //计算该店铺的总价
  }
  $(this).closest(".one-shop").find(".ShopTotal").text(oprice.toFixed(2)); //显示被选中商品的店铺总价
  });
  var oneprice = parseFloat($(this).find(".ShopTotal").text()); //得到每个店铺的总价
  allprice += oneprice; //计算所有店铺的总价
 });
 $("#AllTotal").text(allprice.toFixed(2)); //输出全部总价
 }
 </script>
</body> 

</html> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jQuery基于json与cookie实现购物车的方法

    本文实例讲述了jQuery基于json与cookie实现购物车的方法.分享给大家供大家参考,具体如下: json 格式: [{'ProductID':ABC','Num':'1'},{'ProductID':DEF,'Num':'2'}] 这里使用到了 $.cookie这个插件.这个插件的代码在文章的最后 /* 添加商品及数量到购物车cookie中,返回当前商品在cookie中的总数 */ function AddToShoppingCar(id, num) { var _num = 1; if

  • jQuery模拟淘宝购物车功能

    首先我们要实现的内容的需求有如下几点: 1.在购物车页面中,当选中"全选"复选框时,所有商品前的复选框被选中,否则所有商品的复选框取消选中. 2.当所有商品前的复选框选中时,"全选"复选框被选中,否则"全选"复选框取消选中. 3.单击图标-的时候数量减一而且不能让物品小于0并且商品总价与积分随之改变. 4.单击图标+的时候数量增加并且商品总价与积分随之改变. 5.单击删除所选将删除用户选中商品,单击删除则删除该商品即可并达到商品总价与积分随之改变

  • 基于JQuery实现的类似购物商城的购物车

    商品信息使用JSON数据来模拟 同一个产品点击多次,不会重复添加,而是在已有的基础上数量+1, 商品数量也可以手动输入,当输入0时,该商品将自动从购物车删除(点击减号到小于1时,也会提示是否从购物车删除商品信息) 每个产品的价格和总价都会根据添加和删除的操作来动态计算 附下载链接:/201112/yuanma/jquery_gouwuche.rar 基本的功能都已经实现, 建议使用IE浏览器运行,其他浏览器没有测试 HTML代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC

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

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery实现购物

  • 使用Python的Django框架结合jQuery实现AJAX购物车页面

    Django中集成jquery 首先,静态的资源通常放入static文件夹中: static/ css/ djquery.css samples/ hello.css js/ jquery-1.7.1.min.js samples/ hello.js 其中css和js都按照应用名称(这里是samples)划分文件夹,如果文件较多,还可以再划分子文件夹. Django通常使用模板来展现html,而且我们通常使用继承的模板,所以需要将共用的元素,比如全局的css,对jquery.js的引入等,写到b

  • jQuery实现移动端手机商城购物车功能

    购物车数量加减 右加号 $(".jiahao").click(function() { var t = $(this).siblings().find("input");//取到数量 t.val(parseInt(t.val()) + 1);//parseInt()解析input一个字符串,返回一个整数 heji();//调用后面计算的函数 }) 左减号 $(".jianhao").click(function() { var t = $(thi

  • jquery实现手机端单店铺购物车结算删除功能

    手机端一部分用flex布局写在这里看着不爽把css全部删除了.只留下js结算功能js很臃肿,请留下宝贵意见提升性能.改天上多店铺购物车手机端原版截图 效果图: 图(1)全部勾选的效果 图(2)勾选,点击"删除"效果 代码如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <title>购物车</title> <meta http-equiv="Con

  • jQuery实现加入购物车飞入动画效果

    HTML 首先载入jQuery库文件和jquery.fly.min.js插件. 复制代码 代码如下: <script src="jquery.js"></script> <script src="jquery.fly.min.js"></script> 接着,将商品信息html结构布置好,本例中,我们用四个商品并排布置,每个商品box中包括有商品图片.价格.名称以及加入购物车按钮等信息. 复制代码 代码如下: <

  • jQuery使用cookie与json简单实现购物车功能

    本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id  String类型 2.添加商品id的时候 把cookie转化成数组,并检查是否已经包含了.没有包含用js push重新生成新的数组. 3.把数组转化成String 用cookie存储. 以下是jquery对cookie和JSON的操作方法 $.cookie("cart","ids",{expires:-7,pat

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

    作为一名不在软件公司工作的软件工程师,不仅要会写后台代码(PHP/JAVA/SQL...),还是兼顾前端工程师的工作(html/javascript/css...).下面就来分享一个在实际工作项目中使用到的购物车的前端开发. 这里分享的仅仅是针对购物车的操作(产品数量的增加减少,删除购物车中产品项),假设购物车中已经放有若干产品.闲话少说,先上两张效果图. HTML代码如下:这里使用到了JQuery1.11和bootstrap3 . <!DOCTYPE html> <html> &

随机推荐