Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34619
  • 博文数量: 19
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 185
  • 用 户 组: 普通用户
  • 注册时间: 2015-06-08 17:27
文章分类

全部博文(19)

文章存档

2016年(5)

2015年(14)

我的朋友

分类: jQuery

2015-08-14 14:11:56

Demo:  /> cart.rar
这个简单的购物车效果是由慕课网的课程“用JS实现购物车特效”改写的

点击(此处)折叠或打开

  1. $(function(){
  2. // 全选
  3.        //判断全选是否选中,并输出输出已选商品数目
  4.     $('.check-all').click(function(){
  5.         if(this.checked){
  6.             $('tbody :checkbox').prop('checked',true);
  7.             var chknum=$('tbody :checkbox').size();
  8.             $('#selectedTotal').html(chknum);
  9.             getTotal();
  10.         }
  11.         else{
  12.             $('tbody :checkbox').prop('checked',false);
  13.             $('#selectedTotal').html('0');
  14.             getTotal();
  15.         }
  16.     })
  17.     //子复选框选中时判断全选是否需要选中
  18.     $('tbody :checkbox').click(function(){
  19.         alchk();
  20.         getTotal();
  21.     })
  22.     //alchk函数是通过遍历子复选框的选中个数来判断全选是否需要选中,并输出已选商品数目
  23.     function alchk(){
  24.         var chknum=$('tbody :checkbox').size();
  25.         var chk=0;
  26.         $('tbody :checkbox').each(function(){
  27.             if($(this).prop('checked')==true){
  28.                 chk++;
  29.             }
  30.         });
  31.         $('#selectedTotal').html(chk);
  32.         if(chknum==chk){
  33.             $('.check-all').prop('checked',true);
  34.         }
  35.         else{
  36.             $('.check-all').prop('checked',false);
  37.         }
  38.     }

  39. // 删除单行商品
  40.     $('.delete').click(function(){
  41.         var conf = confirm('确定删除此商品?');
  42.         if (conf) {
  43.             $(this).parent('td').parent('tr').remove();
  44.         }
  45.     })

  46. // 点击删除所选项
  47.     $('#deleteAll').click(function(){
  48.         var conf = confirm('确定删除此商品?');
  49.         if (conf) {
  50.             $('tbody :checkbox').each(function(){
  51.                 var chknum=$('tbody :checkbox').size();
  52.                 var chk=0;
  53.                 if($(this).prop('checked')==true){
  54.                     $(this).parent('td').parent('tr').remove();
  55.                     chk--;
  56.                 }
  57.             });
  58.             alchk();
  59.         }                
  60.     })

  61. //点击+ -按钮对应增加或减少商品数目
  62. $('.add').click(function(){
  63.     var tr=$(this).parent('td').parent('tr');
  64.     var input=tr.find('input[type=text]');
  65.     var reduce=$(this).parent('td').parent('tr').find('.reduce')
  66.     var val=input.val();
  67.     val++;
  68.     input.val(val);
  69.     reduce.html('-');
  70.     getSubTotal(tr);
  71.     getTotal();
  72. })
  73. $('.reduce').click(function(){
  74.     var tr=$(this).parent('td').parent('tr');
  75.     var input=tr.find('input[type=text]');
  76.     var val=input.val();
  77.     val--;
  78.     input.val(val);
  79.     if (input.val() <= 1) {
  80.         $(this).html('');
  81.     }
  82.     getSubTotal(tr);
  83.     getTotal();
  84. })

  85. //小计价格
  86. function getSubTotal(tr){
  87.     var count=tr.find('input[type=text]').val();
  88.     var price=tr.find('.price').html();
  89.     var subTotal=count*price;
  90.     tr.find('.subtotal').html(subTotal);
  91. }

  92. //总价格
  93. function getTotal(){
  94.     var total=0;
  95.     $('tbody :checkbox').each(function(){
  96.         if($(this).prop('checked')==true){
  97.             var subtotal=parseInt($(this).parent('td').parent('tr').find('.subtotal').html());
  98.             total=total+subtotal;
  99.         }
  100.     });
  101.     $('#priceTotal').html(total);
  102. }

  103. })


阅读(1528) | 评论(0) | 转发(0) |
0

上一篇:轮播图

下一篇:JQuery 新手引导

给主人留下些什么吧!~~