基于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和CSS通过expression实现Table居中显示
Jun 28 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
分享javascript实现的冒泡排序代码并优化
Jun 05 Javascript
Javascript之Date对象详解
Jun 07 Javascript
轻松掌握JavaScript装饰者模式
Aug 27 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
JS正则获取HTML元素的方法
Mar 31 Javascript
基于js中style.width与offsetWidth的区别(详解)
Nov 12 Javascript
3种vue组件的书写形式
Nov 29 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
Vue.js 中的 v-cloak 指令及使用详解
Nov 19 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 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中的全局变量
2016/06/17 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
JavaScript事件列表解说
2006/12/22 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
python 生成不重复的随机数的代码
2011/05/15 Python
python提取页面内url列表的方法
2015/05/25 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
枚举与#define宏的区别
2014/04/30 面试题
计算机专业应届毕业生自荐信
2013/09/26 职场文书
施工资料员岗位职责
2014/01/06 职场文书
安全生产专项整治方案
2014/05/06 职场文书
学习退步检讨书
2014/09/28 职场文书
思想道德自我评价2015
2015/03/09 职场文书
交通安全教育主题班会
2015/08/12 职场文书
社区宣传标语口号
2015/12/26 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python