基于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 26 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
Aug 29 Javascript
js+css实现的简单易用兼容好的分页
Dec 30 Javascript
js调试系列 断点与动态调试[基础篇]
Jun 18 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
vue-router重定向和路由别名的使用讲解
Jan 19 Javascript
vue实现的树形结构加多选框示例
Feb 02 Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 Javascript
实例讲解JavaScript 计时事件
Jul 04 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常用函数的用法详解
2013/05/10 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
Python3中的2to3转换工具使用示例
2015/06/12 Python
Python+django实现文件上传
2016/01/17 Python
python搭建微信公众平台
2016/02/09 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
python实现汉诺塔方法汇总
2016/07/25 Python
python实现Virginia无密钥解密
2019/03/20 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
施工安全协议书
2013/12/11 职场文书
小学英语教学反思
2014/01/30 职场文书
教学质量评估实施方案
2014/03/17 职场文书
五一劳动节活动记录
2014/03/23 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
党员自评材料范文
2014/12/17 职场文书
新郎接新娘保证书
2015/05/08 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
MySQL派生表联表查询实战过程
2022/03/20 MySQL
ant design charts 获取后端接口数据展示
2022/05/25 Javascript