使用jQuery实现购物车


Posted in jQuery onOctober 29, 2020

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

HTML代码

<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代码

<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代码

<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>

最终效果

使用jQuery实现购物车

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

jQuery 相关文章推荐
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 jQuery
jQuery实现简单的抽奖游戏
May 05 jQuery
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
jquery鼠标悬停导航下划线滑出效果
Sep 29 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
Apr 01 jQuery
jQuery实现带进度条的轮播图
Sep 13 jQuery
jQuery实现简单评论区功能
Oct 26 #jQuery
jquery插件懒加载的示例
Oct 24 #jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 #jQuery
jquery实现抽奖功能
Oct 22 #jQuery
jQuery实现可以计算进制转换的计算器
Oct 19 #jQuery
jQuery实现计算器功能
Oct 19 #jQuery
jQuery实现推拉门效果
Oct 19 #jQuery
You might like
VFP与其他应用程序的集成
2006/10/09 PHP
PHP获取url的函数代码
2011/08/02 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
python模块之re正则表达式详解
2017/02/03 Python
Python 的类、继承和多态详解
2017/07/16 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
会计助理的岗位职责
2013/11/29 职场文书
绩效专员岗位职责
2013/12/02 职场文书
实习鉴定范文
2013/12/19 职场文书
网络营销计划
2015/01/17 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
学生安全责任协议书
2016/03/22 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python