jQuery模拟淘宝购物车功能


Posted in Javascript onFebruary 27, 2017

首先我们要实现的内容的需求有如下几点:

1.在购物车页面中,当选中“全选”复选框时,所有商品前的复选框被选中,否则所有商品的复选框取消选中。

2.当所有商品前的复选框选中时,“全选”复选框被选中,否则“全选”复选框取消选中。

3.单击图标-的时候数量减一而且不能让物品小于0并且商品总价与积分随之改变。

4.单击图标+的时候数量增加并且商品总价与积分随之改变。

5.单击删除所选将删除用户选中商品,单击删除则删除该商品即可并达到商品总价与积分随之改变。

下面我们就开始进入代码:

$(function () {
  subtotal();
  addorminus();
  allcheckbox();
  delet();
  deleselect();
 });
 //设置 获取积分和一共金额函数
 function countmoney() {
  var money = 0; //总金额
  var jifen = 0; //总积分
  $(".cart_td_7").each(function () {
  var m = $(this).text();
  money += Number(m);
  var j = $(this).siblings(".cart_td_4").text();
  var number = $(this).siblings(".cart_td_6").children("input").val();
  jifen += Number(j * number);
  });
  $("#total").html(money);
  $("#integral").html(jifen);
 }
 //小计
 function subtotal() {
  var obj = $(".cart_td_7");
  obj.each(function () {       //each遍历每一个clss为.card_td_7的元素
  var num = $(this).siblings(".cart_td_6").children("input").val(); //购物车 选中的当前数量
  var price = $(this).siblings(".cart_td_5").html();   //当前选中物品的price
  var money = num * price;      //小计
  $(this).html(money);
  });
  countmoney();
 }
 //添加或减少数量
 function addorminus() {
  $(".hand").on("click", function () {
  var num;
  if ($(this).attr("alt") == "minus") {
   num = $(this).next().val();
   if (num == 1) {
   $(this).css("display", "none");
   } else {
   $(this).next().val(--num);
   }
  } else {
   num = $(this).prev().val();
   $(this).prev().val(++num);
   if (num == 1) {
   $(this).siblings("[alt==minus]").css("display", "visible");
   } else { } 
  }
  subtotal();
  });
 }
 //全选或者全不选
 function allcheckbox() {
  $("#allCheckBox").live("change", function () {
  if ($(this).attr("checked") == "checked") {
   $("[name=cartCheckBox]").attr("checked", "checked");
  } else {
   $("[name=cartCheckBox]").attr("checked", false);
  }
  });
  $("[name=cartCheckBox]").live("change", function () {
  var bool = true;
  $("[name=cartCheckBox]").each(function () {
   if ($(this).attr("cheked") != "checked") {
   bool = false;
   }
  });
  if (bool) {
   $("#allCheckBox").attr("checked", "checked");
  } else {
   $("#allCheckBox").attr("checked", false);
  }
  });
 }
 //删除
 function delet() {
  $(".cart_td_8>a").live("click", function () {
  $(this).parent().parent().prev().remove();
  $(this).parent().parent().remove();
  subtotal();
  });
 }
 //删除所选 
 function deleselect() {
  $("#deleteAll>img").live("click", function () {
  $("[name=cartCheckBox]").each(function () {
   if ($(this).attr("checked") == "checked") {
   $(this). parent().parent().prev().remove();
   $(this).parent().parent().remove();
   }
  });
  subtotal();
  });
 }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
广告显示判断
Aug 31 Javascript
如何使Chrome控制台支持多行js模式——意外发现
Jun 13 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
Feb 21 Javascript
js实现的标题栏新消息闪烁提示效果
Jun 06 Javascript
自定义刻度jQuery进度条及插件
Sep 02 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
Sep 20 Javascript
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
Jan 18 Javascript
Vue解析剪切板图片并实现发送功能
Feb 04 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
Jul 26 Javascript
原生js实现轮播图
Feb 27 #Javascript
PHP实现本地图片上传和验证功能
Feb 27 #Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
Feb 27 #Javascript
提高Web性能的前端优化技巧总结
Feb 27 #Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 #Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 #Javascript
JavaScript中数组Array方法详解
Feb 27 #Javascript
You might like
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
javascript两段代码,两个小技巧
2010/02/04 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
Python中设置变量访问权限的方法
2015/04/27 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
python实现猜数字小游戏
2020/03/24 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
幼教毕业生自我鉴定
2014/01/12 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
承诺书的格式范文
2014/03/28 职场文书
财产分割协议书范本
2014/11/03 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
学校团代会开幕词
2016/03/04 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
Pandas自定义选项option设置
2021/07/25 Python
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server