首页前端开发JavaScriptjQuery实现购物车全功能

jQuery实现购物车全功能

时间2024-01-31 13:37:03发布访客分类JavaScript浏览315
导读:收集整理的这篇文章主要介绍了jQuery实现购物车全功能,觉得挺不错的,现在分享给大家,也给大家做个参考。 本文实例为大家分享了jquery实现购物车全功能的具体代码,供大家参考,具体内...
收集整理的这篇文章主要介绍了jQuery实现购物车全功能,觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了jquery实现购物车全功能的具体代码,供大家参考,具体内容如下

效果图:

HTML& & CSS:

!DOCTYPE html>
    html lang="en">
    head>
     meta charset="UTF-8">
     meta name="viewport" content="width=device-width, inITial-scale=1.0">
     title>
    Document/title>
     script src="../jquery-3.4.1.min.js">
    /script>
     style>
  * {
       margin: 0;
       padding: 0;
  }
    .tab {
       width: 500px;
       border-collapse: collapse;
       margin: 0 auto;
  }
    .tab td,  th {
       border: 1px solid #000;
  }
    .tab .num {
       width: 20px;
  }
    .tab .add,  .sub {
       width: 20px;
  }
    .current {
       background-color: pink;
  }
     /style>
    /head>
    body>
     table class="tab">
      thead>
       th>
    全选 input type="checkbox" name="" value="" class="checkAll">
        input type="checkbox" name="" value="" class="checkAll">
       /th>
       th>
    商品名称/th>
       th>
    单价/th>
       th>
    数量/th>
       th>
    小计/th>
       th>
    操作/th>
      /thead>
      tbody>
       tr>
        td>
    input type="checkbox" class="ed" />
    /td>
        td>
    电脑/td>
        td class="PRice">
    ¥200.20/td>
        td>
         button type="button" class="sub">
    -/button>
         input type="text" name="" value="1" class="num">
         button type="button" class="add">
    +/button>
        /td>
        td class="small_total">
    ¥200.20/td>
        td class="delete">
    删除/td>
       /tr>
       tr>
        td>
    input type="checkbox" class="ed" />
    /td>
        td>
    手机/td>
        td class="price">
    ¥100.30/td>
        td>
         button type="button" class="sub">
    -/button>
         input type="text" name="" value="1" class="num">
         button type="button" class="add">
    +/button>
        /td>
        td class="small_total">
    ¥100.30/td>
        td class="delete">
    删除/td>
       /tr>
       tr>
        td>
    input type="checkbox" class="ed" />
    /td>
        td>
    空调/td>
        td class="price">
    ¥1000.99/td>
        td>
         button type="button" class="sub">
    -/button>
         input type="text" name="" value="1" class="num">
         button type="button" class="add">
    +/button>
        /td>
        td class="small_total">
    ¥1000.99/td>
        td class="delete">
    删除/td>
       /tr>
      /tbody>
     /table>
     div>
      span>
    已选span style="color: red;
    " class="num_sum">
    1/span>
    件商品/span>
      span>
    总计:/span>
      span class="sum" style="color: red;
    ">
    0/span>
      div>
    span style="color: red;
    " class="delSome">
    删除选中商品/span>
       span style="color: red;
    " class="delAll">
    清空购物车/span>
      /div>
     /div>
     /body>
    /html>
    

JS:

//里面三个小的复选按钮选中状态跟着 全选按钮走//因为checked是复选框的固有属性,此时利用prop()获取和设置该属性$(function() {
       getSum();
   $(".checkAll").change(function() {
         // console.LOG($(this).prop("checked"));
    //全选按钮的状态     $(".ed,.checkAll").prop("checked", $(this).prop("checked"));
         getSum();
     if ($(".ed,.checkAll").prop("checked")) {
          //如果全选,让所有商品添加类名(背景颜色)      $(".tab tbody").children().addClass("current");
     }
 else {
          $(".tab tbody").children().removeClass("current");
     }
    }
)    //如果所有小按钮的个数都被选了,全选按钮就选上,如果小按钮没有被选上,则全选按钮就不选上    //:checked选择器,查找本选中的表单元素   $(".ed").change(function() {
        // console.log($(".ed:checked").length);
    //小复选框选中的个数    // console.log($(".ed").length);
        //console.log($(this).prop("checked"));
    if ($(".ed:checked").length === $(".ed").length) {
         $(".checkAll").prop("checked", true);
    }
 else {
         $(".checkAll").prop("checked", false);
    }
        getSum();
    if ($(this).prop("checked")) {
         $(this).parents("tr").addClass("current");
    }
 else {
         $(this).parents("tr").removeClass("current");
    }
   }
)   $(".add").click(function() {
        let n = parseint($(this).siblings(".num").val());
        //console.log(n);
        n++;
        $(this).siblings(".num").val(n);
        let price = $(this).parent().siblings(".price").html();
        price = price.substr(1);
        //console.log(price);
        $(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2));
        getSum();
   }
)   $(".sub").click(function() {
         let n = parseInt($(this).siblings(".num").val());
         //console.log(n);
     if (n === 1) {
          return false;
     }
         n--;
         $(this).siblings(".num").val(n);
         let price = $(this).parent().siblings(".price").html();
         price = price.substr(1);
         //console.log(price);
         $(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2));
         getSum();
    }
)    //用户也可以直接修改表单num里面的值(小bug),同样计算小计   $(".num").change(function() {
        let n = $(this).val();
        let price = $(this).parent().siblings(".price").html();
        price = price.substr(1);
        $(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2));
        getSum();
   }
)   function getSum() {
        let count = 0;
     //计算总件数    let money = 0;
 //计算总价钱    $(".num").each(function(index) {
     if ($(".ed").eq(index).prop("checked") == true) {
          count += parseInt($(".num").eq(index).val());
          money += parseFloat($(".small_total").eq(index).text().substr(1));
     }
    }
    )    $(".num_sum").html(count);
        $(".sum").html(money.toFixed(2));
   }
   //删除商品模块   //点击删除之后一定是删除当前的商品,所以从$(this)出发   $(".delete").click(function() {
         //删除的是当前的商品     $(this).parent().remove();
         $(".ed").change();
         getSum();
         cleArcheckAll();
    }
)    //删除选定的商品:小的复选框如果选中就删除对应的商品   $(".delSome").click(function() {
         //删除的是选中的商品     $(".ed:checked").parent().parent().remove();
         getSum();
         clearCheckAll();
    }
)    //清空购物车   $(".delAll").click(function() {
        $(".tab tbody").empty();
        getSum();
        clearCheckAll();
   }
)   function clearCheckAll() {
    if ($(".tab tbody")[0].innerText == '') {
         $(".checkAll").prop("checked", false);
    }
   }
}
    )

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • 使用jQuery实现购物车
  • jquery实现购物车基本功能
  • jQuery实现购物车的总价计算和总价传值功能
  • jQuery实现全部购物车功能实例

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

jQuery购物车"

若转载请注明出处: jQuery实现购物车全功能
本文地址: https://pptw.com/jishu/594029.html
主函数在程序中的位置在哪 详解uniapp的全局变量实现方式

游客 回复需填写必要信息