基于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 相关文章推荐
showModelessDialog()使用详解
Sep 21 Javascript
javascript+mapbar实现地图定位
Apr 09 Javascript
js禁止小键盘输入数字功能代码
Aug 01 Javascript
js仿百度有啊通栏展示效果实现代码
May 28 Javascript
jquery实现pager控件示例
Apr 09 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
Jun 09 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
多种jQuery绑定事件的实现方式
Jun 13 Javascript
Bootstrap table使用方法总结
May 10 Javascript
AngularJS中下拉框的高级用法示例
Oct 11 Javascript
微信小程序实现多宫格抽奖活动
Apr 15 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
Jul 10 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
新手学习PHP的一些基础知识分享
2011/07/27 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
js实现网页收藏功能
2015/12/17 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
Bootstrap插件全集
2016/07/18 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
JQuery获得内容和属性方法解析
2020/05/30 jQuery
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
会计职业生涯规划书
2014/01/13 职场文书
旅游个人求职信范文
2014/01/30 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
年度考核个人总结
2015/03/06 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书