纯jquery实现模仿淘宝购物车结算


Posted in Javascript onAugust 20, 2015

这篇文章里,将会提到购物车里的所有功能。包括全选、单选金额改变。在增加数量时金额也会相应改变。

效果图展示:

纯jquery实现模仿淘宝购物车结算

说下大致的思路吧:

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模仿淘宝悬挂购物车物品结算功能-附源码下载

纯jquery实现模仿淘宝购物车结算

查看演示    源码下载

Javascript 相关文章推荐
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
Aug 13 Javascript
JavaScript DOM 学习第二章 编辑文本
Feb 19 Javascript
用JS将搜索的关键字高亮显示实现代码
Nov 08 Javascript
jquery弹出层类代码分享
Dec 27 Javascript
js中创建对象的几种方式示例介绍
Jan 26 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
常用jQuery代码分享
Jul 14 Javascript
基于IView中on-change属性的使用详解
Mar 15 Javascript
JS 封装父页面子页面交互接口的实例代码
Jun 25 Javascript
Vue 刷新当前路由的实现代码
Sep 26 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
Javascript如何实现双指控制图片功能
Feb 25 Javascript
js实现按钮颜色渐变动画效果
Aug 20 #Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 #Javascript
jQuery地图map悬停显示省市代码分享
Aug 20 #Javascript
jQuery超赞的评分插件(8款)
Aug 20 #Javascript
jQuery网页版打砖块小游戏源码分享
Aug 20 #Javascript
js实现鼠标点击文本框自动选中内容的方法
Aug 20 #Javascript
js实现文字在按钮上滚动的方法
Aug 20 #Javascript
You might like
PHP动态柱状图实现方法
2015/03/30 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
python学生信息管理系统(完整版)
2020/04/05 Python
Django框架实现的分页demo示例
2019/05/25 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
python和c语言哪个更适合初学者
2020/06/22 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
性能服装:HYLETE
2018/08/14 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
环保建议书500字
2014/05/14 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
代收款委托书范本
2014/10/01 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
解除同居协议书
2015/01/29 职场文书
实习指导老师意见
2015/06/04 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python