基于JavaScript实现购物车功能


Posted in Javascript onFebruary 07, 2017

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

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script src="js/jquery-1.12.4.js"></script>
</head>
<body>
<div id="shop">
  <button id="btAdd">我的购物车</button><br><br>

  <table id="cart">
    <thead>
    <tr>
      <th>单价</th>
      <th>数量</th>
      <th>小计</th>
      <th>操作</th>
    </tr>
    </thead>
    <tbody>

    </tbody>
    <tfoot>
    <tr>
      <td colspan="4">购物车总金额:<span id="total">0.00</span></td>
    </tr>
    </tfoot>
  </table>
</div>
<div id="footer"></div>
<script>
  $('#read .page li a').click(function(){
    var n=$(this).html();

    $(this).parent().parent().next().children('p:nth-child('+n+')').slideDown(2000);
    $(this).parent().parent().next().children('p:nth-child('+n+')').siblings().css('display','none');
  })

  $('#btAdd').click(function(){
    var p = randPrice();
    var c = randCount();
    $('#cart tbody').append('<tr>'+
      '<td>'+p+'</td>'+
      '<td><input type="text" value="'+c+'"></td>'+
      '<td>'+parseFloat((p*c).toFixed(2))+'</td>'+
      '<td><a href="#" rel="external nofollow" >×</a></td>'+
      '</tr>');
    $('#total').html( getTotal() );
  });

  //为“删除”按钮(即X号)绑定事件监听函数,注意:X是后添加的,很多X执行的行为是一样的——使用事件代理
  $('#cart tbody').delegate('td > a', 'click',function(event){
    event.preventDefault();
    var a = event.target;
    $(a).parent().parent().remove();

  });
  //为“购买数量”输入框做事件绑定——使用事件代理
  $('#cart tbody').delegate('td > input','change', function(event){

    var input = event.target;
    var count = input.value;
    var price = $(input).parent().prev().html();
    $(input).parent().next().html( price*count );
    $('#total').html( getTotal() );
  })
  //计算购物车的总金额
  function getTotal(){
    var sum = 0;
    $('#cart tbody tr td:nth-child(3)').each(function(i, td){
      sum += parseInt(td.innerHTML);
    })
    return sum;
  }


  function randPrice(){
    var p = Math.random()*100;
    p = p.toFixed(2);
    p = parseFloat(p);
    return p;
  }
  function randCount() {
    var c = Math.floor(Math.random() * 10 + 1);
    return c;

  }
  $('#header').load('php/header.php');
  $('#footer').load('php/footer.php');
  var theme=localStorage.getItem('ChoseTheme');
  applyTheme(theme)

</script>

</body>
</html>

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

Javascript 相关文章推荐
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
从零学JS之你需要了解的几本书
May 19 Javascript
浅谈React 属性和状态的一些总结
Nov 21 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
js中的面向对象入门
Mar 06 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
May 22 Javascript
vue指令做滚动加载和监听等
May 26 Javascript
LayUI数据接口返回实体封装的例子
Sep 12 Javascript
微信小程序保持session会话的方法
Mar 20 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
Apr 10 Javascript
JS实现简易图片自动轮播
Oct 16 Javascript
js实现类bootstrap模态框动画
Feb 07 #Javascript
canvas实现探照灯效果
Feb 07 #Javascript
javascript数据类型详解
Feb 07 #Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 #Javascript
vuejs指令详解
Feb 07 #Javascript
fullCalendar中文API官方文档
Feb 07 #Javascript
JS常用倒计时代码实例总结
Feb 07 #Javascript
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
php屏蔽错误及提示的方法
2020/05/10 PHP
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
javascript按顺序加载运行js方法
2017/12/01 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
干部现实表现材料
2014/02/13 职场文书
超市开店计划书
2014/09/15 职场文书
授权收款委托书范本
2014/10/10 职场文书
社团招新宣传语
2015/07/13 职场文书
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技