纯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 相关文章推荐
javascript编程起步(第四课)
Feb 27 Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 Javascript
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
键盘KeyCode值列表汇总
Nov 26 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
Jan 21 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
Apr 13 Javascript
weex slider实现滑动底部导航功能
Aug 28 Javascript
小程序实现人脸识别功能(百度ai)
Dec 23 Javascript
小程序实现抽奖动画
Apr 16 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中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
vue 文件目录结构详解
2017/11/24 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
Python循环语句中else的用法总结
2016/09/11 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
高考自主招生自荐信
2013/10/20 职场文书
创意婚礼策划方案
2014/05/18 职场文书
公务员培的训心得体会
2014/09/01 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书