使用jQuery实现购物车

这篇文章主要为大家详细介绍了使用jQuery实现购物车,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

HTML代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<body>
  <div id="goodsStore">
    <table>
      <caption>储 物 仓</caption>
      <thead>
        <tr>
          <td>商品编号</td>
          <td>商品名称</td>
          <td>商品单价</td>
          <td>商品颜色</td>
          <td>商品库存</td>
          <td>操作</td>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>2018090201</td>
          <td>鼠标</td>
          <td>78</td>
          <td>黑色</td>
          <td>500</td>
          <td>
            <input type="button" value="加入购物车" onclick="addGoods(this);" />
          </td>
        </tr>
        <tr>
          <td>2018090202</td>
          <td>键盘</td>
          <td>45</td>
          <td>白色</td>
          <td>300</td>
          <td>
            <input type="button" value="加入购物车" onclick="addGoods(this);" />
          </td>
        </tr>
        <tr>
          <td>2018090203</td>
          <td>显示器</td>
          <td>880</td>
          <td>黑色</td>
          <td>200</td>
          <td>
            <input type="button" value="加入购物车" onclick="addGoods(this);" />
          </td>
        </tr>
        <tr>
          <td>2018090204</td>
          <td>主机</td>
          <td>2332</td>
          <td>蓝色</td>
          <td>350</td>
          <td>
            <input type="button" value="加入购物车" onclick="addGoods(this);" />
          </td>
        </tr>
      </tbody>
    </table>
  </div>
  <div id="goodsPay">
    <table>
      <caption>购 物 车</caption>
      <thead>
        <tr>
          <td>商品编号</td>
          <td>商品名称</td>
          <td>商品单价</td>
          <td>商品颜色</td>
          <td>购买数量</td>
          <td>单项小计</td>
          <td>操作</td>
        </tr>
      </thead>
      <tbody id="gwc">
      </tbody>
      <tfoot>
        <tr>
          <td colspan="5">总计</td>
          <td colspan="2" id="sum">0</td>
        </tr>
      </tfoot>
    </table>
  </div>
</body>

CSS代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<style>
    * {
      margin: 0;
      padding: 0;
    }
    div {
      width: 1000px;
      height: 350px;
      border: 3px solid #ccc;
      margin: 5px auto;
      overflow: auto;
    }
    table {
      border-collapse: collapse;
      width: 100%;
    }
    td {
      border: 1px solid black;
      text-align: center;
      height: 30px;
    }
    caption {
      font-size: 28px;
      font-weight: bold;
    }
    #gwc input[type="text"] {
      width: 30px;
      margin-left: 4px;
      margin-right: 4px;
    }
    #gwc input[type="button"] {
      width: 20px;
    }
</style>

JavaScript代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<script src="jquery-1.11.1/jquery.js"></script>
  <script>
    var sum; //定义全局变量:购物车商品总计
    $(function() {
      //页面加载完成后给全局变量赋值
      sum = $("#sum");
    })
    function addGoods(btn) {
      var td = $(btn).parent();
      var tr = $(td).parent();
      var tds = $(tr).children();
      //创建一个行节点
      var newTr = $("<tr></tr>");
      //给行节点赋值
      newTr.html(
        '<td>' + tds[0].innerHTML + '</td>' +
        '<td>' + tds[1].innerHTML + '</td>' +
        '<td>' + tds[2].innerHTML + '</td>' +
        '<td>' + tds[3].innerHTML + '</td>' +
        '<td>' +
          '<input type="button" value="-" onclick="reduce(this)" />' +
          '<input type="text" value="1" readonly />' +
          '<input type="button" value="+" onclick="add(this)" />' +
        '</td>' +
        '<td>' +
          tds[2].innerHTML +
        '</td>' +
        '<td>' +
          '<input type="button" value="X" onclick="deleteGoods(this);" />' +
        '</td>'
      );
      //追加新节点
      $("#gwc").append(newTr);
      //更新总计
      var s = parseFloat(sum.html());
      sum.html(s + parseFloat(tds[2].innerHTML));
    }
    function add(btn) {
      //获取按钮的上一个兄弟
      var txt = $(btn).prev();
      txt.val(parseFloat(txt.val()) + 1);
      //获取该商品的单价
      var price = $(btn).parent().prev().prev();
      //更新总计
      var s = parseFloat(sum.html());
      sum.html(s + parseFloat(price.html()));
    }
    function reduce(btn) {
      //获取按钮的下一个兄弟
      var txt = $(btn).next();
      if (parseFloat(txt.val()) == 1) {
        return;
      }
      txt.val(parseFloat(txt.val()) - 1);
      //获取该商品的单价
      var price = $(btn).parent().prev().prev();
      //更新总计
      var s = parseFloat(sum.html());
      sum.html(s - parseFloat(price.html()));
    }
    function deleteGoods(btn) {
      //获取当前行
      var tr = $(btn).parent().parent();
      //删除当前行
      tr.remove();
      //获取该商品的单价
      var price = $(btn).parent().siblings().eq(2);
      //更新总计
      var s = parseFloat(sum.html());
      sum.html(s - parseFloat(price.html()));
    }
</script>

最终效果

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

(0)

相关推荐

  • 从T台到购物车,为什么年轻人都爱“雌雄莫辩”?

    2015年,安妮·海瑟薇新片<实习生>上映,距她和梅丽尔·斯特里普一起演<穿普拉达的女魔头>过去了将近十年. 安妮从笨到死的女魔头小助理变身当红时尚电商女老板,罗伯特·德尼罗大 ...

  • python练习(一):购物车

    一.要求 1.启动程序后,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒 4.可随时退出,退出时打印已购买商品和余额 ...

  • 拼多多为什么没有购物车?今天我才搞明白

    对于一个喜欢网购的人来讲,或许都知道拼多多,其通过分享拼团购买的新模式,让用户可以购买到更实惠的商品,笔者身边很多朋友都没有逃过其真香定律.使用过拼多多的用户都知道,它与国内其他网购平台有着很大的不同 ...

  • 【小米MIXFOLD评测】拼多多为什么没有购物车?今天我才搞明白

    [中关村在线]小米MIXFOLD评测:对于一个喜欢网购的人来讲,或许都知道拼多多,其通过分享拼团购买的新模式,让用户可以购买到更实惠的商品,笔者身边很多朋友都没有逃过其真香定律.使用过拼多多的用户都知 ...

  • 一季度A股“购物车”曝光:“国家队”、QFII不约而同重仓银行股

    Wind数据统计显示,一季度,"国家队"总计重仓A股507只,持仓市值合计2.91万亿元.新进个股40只,减持120只. QFII总计在A股重仓469只,持仓市值高达2516.06 ...

  • 网友买了颗大白菜放在购物车里,狗狗躺在里面啃起来,真好养活啊

    养了宠物后你会发现,它们总是会做出让你意想不到的事情,有时候你还没有反应过来,它们就已经做出那些事情了,你只能是过后去弥补了!就比如在吃东西这件事情上,它可不管是什么东西,只要到了嘴边就要吃上一口! ...

  • 前列腺治疗冲剂加入购物车

    前列腺治疗冲剂 发明设计人:韩必芝, 摘要:本发明的前列腺治疗冲剂及其制备方法,按配方: 木通10-30克,当归5-15克,黄芪5-15克,白芷5-15克,王不留行5-15克,路路通5-15克,牛七5 ...

  • 6岁熊孩子清空7万购物车被疯狂吐槽,金钱教育也分阶层

     文丨 优宝 现如今,这孩子一个比一个"聪明",做的一些事总是让人出其不意.   有让人感动的.羡慕的,也就又让人恨得牙痒痒的,昨天说完了守护妈妈考试的3岁萌娃,又让优宝想起了这么 ...

  • 购物车测试点

    需求:添加购物车 外观是否与UI需求一致 页面是否与需求UI保持一致 能否正常加入购物车 账号未登录能否添加 账号已登录能否添加 没有库存的商品是否可以加入购物车 单个商品的数量上限 购物车总商品的数 ...