基于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中null与undefined分析
Jul 25 Javascript
javascript数组的使用
Mar 28 Javascript
js判断undefined变量类型使用typeof
Jun 03 Javascript
js简单实现用户注册信息的校验代码
Nov 15 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
May 03 Javascript
js使用formData实现批量上传
Mar 27 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
vue项目引入ts步骤(小结)
Oct 31 Javascript
JavaScript This指向问题详解
Nov 25 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 什么是PEAR?(第三篇)
2009/03/19 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
php+mysql数据库查询实例
2015/01/21 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
JS控件bootstrap datepicker使用方法详解
2017/03/25 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
react-native封装插件swiper的使用方法
2018/03/20 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
Python实时获取cmd的输出
2015/12/13 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
python numpy数组中的复制知识解析
2020/02/03 Python
Django中的session用法详解
2020/03/09 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
python编程的核心知识点总结
2021/02/08 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
简单说下OSPF的操作过程
2014/08/13 面试题
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
个人借款担保书
2014/04/02 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python