基于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实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 Javascript
jQuery 自定义函数写法分享
Mar 30 Javascript
用js传递value默认值的示例代码
Sep 11 Javascript
Javascript中的五种数据类型详解
Dec 26 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
Nov 25 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
Jun 15 Javascript
全面介绍javascript实用技巧及单竖杠
Jul 18 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
JS滚动到指定位置导航栏固定顶部
Jul 03 Javascript
vue头部导航动态点击处理方法
Nov 02 Javascript
富文本编辑器vue2-editor实现全屏功能
May 26 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中的字符串函数
2006/11/24 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
用js实现in_array的方法
2013/11/05 Javascript
js中document.write的那点事
2014/12/12 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
python中的字典使用分享
2016/07/31 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
django自带调试服务器的使用详解
2019/08/29 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
小学班主任寄语大全
2014/04/04 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
护士辞职信怎么写
2015/02/27 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
使用Python获取字典键对应值的方法
2022/04/26 Python