基于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 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
Jan 16 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
使用jQuery实现更改默认alert框体
Apr 13 Javascript
Javascript闭包(Closure)详解
May 05 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
详解vue 实例方法和数据
Oct 23 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
有趣的JavaScript隐式类型转换操作实例分析
May 02 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 curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
JS实现百度搜索框
2021/02/25 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python基础之函数用法实例详解
2014/09/10 Python
python刷投票的脚本实现代码
2014/11/08 Python
Python的动态重新封装的教程
2015/04/11 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
使用python爬取B站千万级数据
2018/06/08 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
Python中作用域的深入讲解
2018/12/10 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
thinkphp5 路由分发原理
2021/03/18 PHP
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
中职生自荐信
2013/10/13 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书