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中window.confirm的行为
Oct 21 Javascript
jquery ajax 局部无刷新更新数据的实现案例
Feb 08 Javascript
jQuery的cookie插件实现保存用户登陆信息
Apr 15 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
May 23 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
深入浅析javascript立即执行函数
Oct 23 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
利用Blob进行文件上传的完整步骤
Aug 02 Javascript
Vuex 使用及简单实例(计数器)
Aug 29 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
Nov 26 Javascript
JS造成内存泄漏的几种情况实例分析
Mar 02 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
图书管理程序(三)
2006/10/09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
整理的9个实用的PHP库简介和下载
2010/11/09 PHP
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
php旋转图片90度的方法
2013/11/07 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
关于jQuery中的end()使用方法
2011/07/10 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python列表与元组的异同详解
2019/07/02 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
详细分析Python collections工具库
2020/07/16 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
工商管理本科毕业生求职信范文
2013/10/05 职场文书
创伤外科专业推荐信范文
2013/11/19 职场文书
学习雷锋倡议书
2014/04/15 职场文书
委托书英文
2015/01/28 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript