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多种数据类型表格排序代码分析
Sep 11 Javascript
jQuery实现定时读取分析xml文件的方法
Jul 16 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
Aug 28 Javascript
javascript拖拽应用实例
Mar 25 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
Javascript Event(事件)的传播与冒泡
Jan 23 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
fetch 如何实现请求数据
Dec 20 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
Oct 11 Javascript
微信小程序单选框自定义赋值
May 26 Javascript
详解JavaScript作用域、作用域链和闭包的用法
Sep 03 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
台湾中原大学php教程孙仲岳主讲
2008/01/07 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
php中curl使用指南
2015/02/05 PHP
浅谈php提交form表单
2015/07/01 PHP
php实现的顺序线性表示例
2019/05/04 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
python是怎么被发明的
2020/06/15 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
大学生个人推荐信范文
2013/11/25 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
西安兵马俑导游词
2015/02/02 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
Python读写yaml文件
2022/03/20 Python