zoukankan      html  css  js  c++  java
  • 1.购物车完整案例

      1 $(function(){
      2     //1.计算总价和小计
      3     productCount();
      4     //2.实现全选复选框的选中功能
      5     isCheckAll();
      6     //3.设置子复选框是否全部选中
      7     isChildCheckAll();
      8     //4.1 给数量的减号添加点击事件
      9     $(".cart_td_6").find("img[alt=minus]").click(function(){
     10         changeNumber(this,false);
     11     });
     12     //4.2.给数量的加号添加点击事件
     13      $(".cart_td_6").find("img[alt=add]").click(function(){
     14         changeNumber(this,true);
     15     });
     16     //5.删除数据行
     17     deleteData();
     18 });
     19 //5.删除数据行
     20 function deleteData(){
     21    //给"删除"    超链接生成点击事件
     22    $(".cart_td_8").find("a").click(function(){
     23          //获取删除的前一行标题行
     24          $(this).parent().parent().prev().remove();
     25          //删除数据行
     26          $(this).parent().parent().remove();
     27          //1.计算总价和小计
     28       productCount();
     29    });
     30    
     31    //给"删除所选"按钮生成点击事件
     32    $("#deleteAll").click(function(){
     33          $("#shopping").find("tr[id]").each(function(i,dom){
     34              //获取子复选框的选中状态
     35              var ischecked=$(dom).children(".cart_td_1").children().is(":checked");
     36            if(ischecked){
     37                //删除前一行标题行
     38                $(dom).prev().remove();
     39                //删除当前数据行
     40                $(dom).remove();
     41            }
     42          });
     43          //1.计算总价和小计
     44       productCount();
     45    });
     46    
     47 }
     48 
     49 //4.商品数量的增加和减少
     50 function changeNumber(dom,flag){
     51     //获取商品数量
     52     var value=$(dom).parent().find("input").val();
     53     //判断是累加和递减
     54     if(flag){
     55         value++;
     56     }else{
     57         value--;
     58         if(value<=0){
     59             value=1;
     60             alert("宝贝数量必须大于0");
     61         }
     62     }
     63     //重新赋值
     64     $(dom).parent().find("input").val(value);
     65     //商品小计
     66     productCount();
     67 }
     68 
     69 //3.设置子复选框是否全部选中
     70 function isChildCheckAll(){
     71     $(".cart_td_1").children().click(function(){
     72          //获取所有子复选框
     73           var checkBoxs=$(".cart_td_1").children();
     74           //获取所有子复选框的数量
     75           var sum=checkBoxs.size();
     76           //定义选中复选框的个数
     77           var k=0;
     78           //循环所有的子复选框,判断是否被选中,并统计选中数量
     79           checkBoxs.each(function(i,dom){
     80                if($(dom).is(":checked")){
     81                    k++;
     82                } 
     83           });
     84           //如果子复选框选中的个数,等于子复选框总数,则全选复选框被选中,否则全选不被选中
     85           if(k==sum){
     86               $("#allCheckBox").attr("checked",true);
     87           }else{
     88               $("#allCheckBox").attr("checked",false);
     89           }
     90     });
     91 }
     92 
     93 
     94 //2.实现全选复选框的选中功能
     95 function isCheckAll(){
     96   //给全选复选框添加点击事件
     97   $("#allCheckBox").click(function(){
     98        //三目运算符,:checked如果选中返回true,否则返回false
     99        var isChecked=$(this).is(":checked");
    100        //设置所有子复选框的选中状态和全选同步
    101        $(".cart_td_1").children().attr("checked",isChecked);
    102   });
    103 }
    104 
    105 //1.计算总价和小计
    106 function productCount(){
    107     //查找所有的数据行
    108     //var $tr=$("#shopping tr[id]);
    109     var $tr=$("#shopping").find("tr[id]");
    110     //定义总价变量
    111     var summer=0;
    112     //定义总积分变量
    113     var integral=0;
    114     //循环所有的数据行计算价格和积分
    115     $tr.each(function(i,dom){
    116         //获取商品数量
    117         var num=$(dom).children(".cart_td_6").find("input").val();
    118         //商品小计
    119         var price=num*$(dom).children(".cart_td_5").text();
    120         //在第七列小计列显示商品价格
    121         $(dom).children(".cart_td_7").html(price);
    122         //计算总价
    123         summer+=price;
    124         //计算总积分
    125         integral+=$(dom).children(".cart_td_4").text()*num;
    126         
    127     });
    128     //显示总价格
    129     $("#total").text(summer);
    130     //显示总积分
    131     $("#integral").text(integral);
    132 }
  • 相关阅读:
    Python数组/切片
    ArcGISEngine 版本升级的方法
    c# 使用类名称访问成员变量
    向模拟器里添加图片的简单方法
    通过self调用propery和直接调用propery的区别
    Objectivec 使用构造函数来初始化函数并调用函数的方法
    IPhone模拟器截取当前活动窗体,并保存为图片
    Windows Server2008 安装Oracle失败
    ALL、DISTINCT、DISTINCTROW、TOP 谓词
    ObjectiveC 语法快速参考
  • 原文地址:https://www.cnblogs.com/holly8/p/8387895.html
Copyright © 2011-2022 走看看