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 模式设计之工厂模式详细说明
May 10 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
Dec 03 Javascript
jquery mobile changepage的三种传参方法介绍
Sep 13 Javascript
浅析Javascript使用include/require
Nov 13 Javascript
jquery用data方法获取某个元素上的事件
Jun 23 Javascript
JavaScript中检查对象property的存在性方法介绍
Dec 30 Javascript
javascript背景时钟实现方法
Jun 18 Javascript
利用python分析access日志的方法
Oct 26 Javascript
javascript中call,apply,bind函数用法示例
Dec 19 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
Feb 07 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
Jul 13 Javascript
关于Angularjs中跨域设置白名单问题
Apr 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
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
JsDom 编程小结
2011/08/09 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
python self,cls,decorator的理解
2009/07/13 Python
Python中查看文件名和文件路径
2017/03/31 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python打开windows应用程序的实例
2019/06/28 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
校园门卫岗位职责
2013/12/09 职场文书
库房主管岗位职责
2013/12/31 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
孔繁森观后感
2015/06/10 职场文书
严以用权学习心得体会
2016/01/12 职场文书
初一数学教学反思
2016/02/17 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
TS 类型兼容教程示例详解
2022/09/23 Javascript