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

 更新时间:2015年08月20日 15:29:20   投稿:mrr  
在淘宝购物,需要把商品加入购车,其中包含全选、单选金额改变,当增加商品时金额也会相应的发生变化,下面通过本文给大家分享纯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实现简单下拉导航效果

    jQuery实现简单下拉导航效果

    这篇文章主要介绍了jQuery实现简单下拉导航效果,通过简单的元素遍历与样式替换实现下拉导航的功能,非常具有实用价值,需要的朋友可以参考下
    2015-09-09
  • jquery中在页面加载完成后执行某个方法

    jquery中在页面加载完成后执行某个方法

    这篇文章主要介绍了jquery中在页面加载完成后执行某个方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • jQuery菜单插件superfish使用指南

    jQuery菜单插件superfish使用指南

    Superfish是一款Jquery插件,它能非常容易的建立复杂的多级下拉菜单,Superfish使用也非常普遍。你可能用Superfish实现多种菜单效果。
    2015-04-04
  • jQuery插件开发汇总

    jQuery插件开发汇总

    这篇文章主要为大家详细介绍了jQuery插件开发的相关资料,需要的朋友可以参考下
    2016-05-05
  • Jquery通过ajax请求NodeJS返回json数据实例

    Jquery通过ajax请求NodeJS返回json数据实例

    本篇文章主要是介绍Jquery通过ajax请求NodeJS返回json数据,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • 使用Jquery获取Thymeleaf参数的三种方式小结

    使用Jquery获取Thymeleaf参数的三种方式小结

    在使用Thymeleaf进行数据填充的时候,发现使用jquery原始方式获取内容参数发现拿不到数据,本文主要介绍了使用Jquery获取Thymeleaf参数的三种方式小结,感兴趣的可以了解一下
    2024-07-07
  • jQuery插件WebUploader实现文件上传

    jQuery插件WebUploader实现文件上传

    这篇文章主要为大家详细介绍了jQuery插件WebUploader实现文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • jQuery Deferred和Promise创建响应式应用程序详细介绍

    jQuery Deferred和Promise创建响应式应用程序详细介绍

    接下来我们一起探索一下JavaScript中的 Deferred 和 Promise 的概念Deferred 提供了一个抽象的非阻塞的解决方案(如Ajax 请求的响应),它创建一个promise对象,其目的是在未来某个时间点返回一个响应,感兴趣的可以参考下
    2013-03-03
  • Jquery实现自定义tooltip示例代码

    Jquery实现自定义tooltip示例代码

    这篇文章主要介绍了Jquery实现自定义tooltip的方法,需要的朋友可以参考下
    2014-02-02
  • jQuery Easyui快速入门教程

    jQuery Easyui快速入门教程

    jQuery EasyUI是一组基于JQuery的UI插件集合,而JQueryEasyUI的目标就是帮助开发者更轻松的打造出功能丰富并且美观的UI界面,下面小编带领大家一起学习jquery easyui入门知识,一起看看吧
    2016-08-08

最新评论