基于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 suggest效果 自动完成实现代码分享
Feb 17 Javascript
ExtJS DOM元素操作经验分享
Aug 28 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
jquery ui dialog替代confirm实例分析
Jan 25 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
基于Vue2的移动端开发环境搭建详解
Nov 03 Javascript
解决vue项目使用font-awesome,build后路径的问题
Sep 01 Javascript
微信小程序入门之广告条实现方法示例
Dec 05 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
Nov 01 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 Javascript
微信小程序自定义胶囊样式
Dec 27 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切割页面div内容的实现代码分享
2012/07/31 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
php实现Mysql简易操作类
2015/10/11 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
Python实现的简单万年历例子分享
2014/04/25 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
python 使用shutil复制图片的例子
2019/12/13 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
大学生党员自我评价范文
2014/04/09 职场文书
学生自我评语大全
2014/04/18 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
演讲比赛策划方案
2014/06/11 职场文书
公司合并协议书范本
2014/09/30 职场文书
SpringBoot集成Redis的思路详解
2021/10/16 Redis