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 相关文章推荐
javascript得到XML某节点的子节点个数的脚本
Oct 11 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
js jquery获取随机生成id的服务器控件的三种方法
Jul 11 Javascript
Javascript中实现String.startsWith和endsWith方法
Jun 10 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
js随机生成一个验证码
Jun 01 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 Javascript
关于vue组件事件属性穿透详解
Oct 28 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
Vue实现手机计算器
Aug 17 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
2014/11/02 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
了解重排与重绘
2019/05/29 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
Python实现视频下载功能
2017/03/14 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
python实现图片压缩代码实例
2019/08/12 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
python实现处理mysql结果输出方式
2020/04/09 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
ORACLE十问
2015/04/20 面试题
.net软件工程师应聘上机试题
2015/03/10 面试题
艺术系应届生的自我评价
2013/10/19 职场文书
校长就职演讲稿
2014/01/06 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
五一促销活动总结
2014/07/01 职场文书
会计专业自荐书
2014/07/08 职场文书
班组拓展活动方案
2014/08/14 职场文书
司机岗位职责范本
2015/04/10 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书