这是我们要完成的购物车界面

  1. 初始状态,当我选中某件商品时,总数量栏,总价栏显示默认数量和总价。
  2. 当我点击全选按钮时,所有的复选框都要被我选到。当我取消全选按钮时,所有商品都要取消选中状态。
  3. 当购物车处于全选状态时,如果我取消选中某一件商品,全选按钮就要处于未被选中的状态。
  4. 当选中某个商品时,我可以对它进行任何操作,包括:增加、减少、删除。
  5. 当我点击结算时,系统告诉我购物的总价。

通过HTML和CSS布局后可以得到下面这个模型(完整代码参考文尾)

紧接着我们就要在这基础上增加各种功能。

  1. 全选按钮。
oSelect.onclick = function() {if (oSelect.checked) {for (var i = 0; i < aItems.length; i++) {if (aItems[i].checked) {} else {oSelect.checked = true;aItems[i].checked = true;getStart();}}} else {//全消for (var i = 0; i < aItems.length; i++) {if (aItems[i].checked) {aItems[i].checked = false;oSum.innerText = 0;oGoods.innerText = 0;} else {}}}}
  1. 单击复选框,判断我所勾选的复选框。
function getStart() {  var oSelect = document.getElementById("selectAll");var aItems = document.getElementsByClassName("check-one"); var oSum = document.getElementById("priceTotal");var oGoods = document.getElementById("selectedTotal"); var aSubtotal = document.getElementsByClassName("subtotal");var aCountInput = document.getElementsByClassName("count-input");   var a=0;for (var i=0; i<aItems.length; i++) {  if (aItems[i].checked) {   chooseIt(i); a++; if(a==3){oSelect.checked=true;    //当所有选项都选到时,全选按钮自动勾选}} else {  oSelect.checked = false;    //任意一个选项没勾选,全选按钮不选chooseIt(i);}}
}

3.对商品进行加、减和删除。

function getPlus(n) {var aCountInput = document.getElementsByClassName("count-input"); //增加单件商品的数量var temp = parseInt(aCountInput[n].value) + 1;aCountInput[n].value = temp;
}
function getReduce(n) {var aCountInput = document.getElementsByClassName("count-input");//减少单件商品的数量var temp = parseInt(aCountInput[n].value) - 1;aCountInput[n].value = temp;//当剪到数量为1件时,停止减if (aCountInput[n].value < 1) {aCountInput[n].value = 1;}
}
aDel[i].onclick = function() {  var oDialog = confirm("确定要删除吗?");if (oDialog) { oTab.tBodies[0].removeChild(aDel[i].parentNode.parentNode);getGoods();getSum();}getStart();  //更新表格中行的数量}
  1. 然后计算单件商品的总价,总商品的数量和总价。
function getTotal(n) {var aPrice = document.getElementsByClassName("price");var aCountInput = document.getElementsByClassName("count-input");var aSubtotal = document.getElementsByClassName("subtotal");//计算单件商品的总价var oMoney = parseInt(aPrice[n].innerText) * parseInt(aCountInput[n].value);aSubtotal[n].innerText = oMoney;
}
function getGoods() { var num = 0;var oGoods = document.getElementById("selectedTotal");var aItems = document.getElementsByClassName("check-one");var aCountInput = document.getElementsByClassName("count-input"); //循环,计算选中的商品的总数量for (var i = 0; i < aItems.length; i++) {if (aItems[i].checked) {num += parseInt(aCountInput[i].value);} else {num += 0;}}oGoods.innerText = num;
}
function getSum() {var temp = 0;var oSum = document.getElementById("priceTotal");var aItems = document.getElementsByClassName("check-one");var aSubtotal = document.getElementsByClassName("subtotal");//循环,计算选中的商品的总价格for (var j = 0; j < aItems.length; j++) {if (aItems[j].checked) {temp += parseInt(aSubtotal[j].innerText);} else {temp += 0;}}oSum.innerText = temp;
}

5.结算时弹出文本框显示所花的金额。(这一步超级简单,只需要把总价栏的金额弹出来即可)

function showTotal() {var money = document.getElementById("priceTotal").innerText;alert("你总共花了" + money + "大洋");
}

在这里我们就完成了购物车,购物车看起来很简单,但实际操作起来还是要严谨的逻辑思维,基于曾经看别人关于购物车的博客,多多少少都有些小细节上的错误或者不完善,在此我给大家一个完美的购物车,希望能帮助到大家,大家有疑问可在下方评论,看到了会及时回复的哟!

详细代码: https://github.com/Siwen19/js/tree/master/myShoppingCart

HTML,CSS,JS完成购物车功能相关推荐

  1. js购物车功能php,使用JS实现购物车功能步骤详解

    这次给大家带来使用JS实现购物车功能步骤详解,使用JS实现购物车功能的注意事项有哪些,下面就是实战案例,一起来看一下. 我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪 ...

  2. html+css+js实现抽奖功能

    html+css+js实现抽奖功能 一.代码 <!DOCTYPE html> <html lang="en"> <head><meta c ...

  3. JS实现购物车功能(JS案例)

    整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...

  4. HTML+CSS+JS实现计算机功能

    本文运用前端代码实现一个简单的计算器界面,并通过JS实现了基本的运算功能.(加.减.乘.除.清屏/退格.取余.取倒) 需要源代码的可以加下面的QQ群,里面有各种学习资料,期待大家的加入! 点我进群  ...

  5. Html+css+js实现放大镜功能(详细完整代码)

    通过将鼠标指向指定的图片,将鼠标移动到图片时,显示一个透明的小区域,然后将小区域的部分放大,查看细节. 运行效果:  详细代码: <!DOCTYPE html> <html>& ...

  6. html用js计算显示,html+css+js实现计算器功能

    /* 主体 */ .counter{ width: 396px; height: 486px; background-color: #F2F2F2; border: 1px solid #C2C3C6 ...

  7. js+html实现购物车功能

    实现购物车物品删除,数量增加减少,选中,批量删除,结算功能,金额汇总,商品数量汇总,前端代码时借用一个博主小哥的,因为本博主对前端显示界面的美化不擅长,这里为了方便,就引用其他博主小哥的前端界面代码! ...

  8. H5+css+js前端特效源代码:发光动画按钮:上传按钮

    前端特效:发光动画按钮:上传按钮 H5+CSS+JS 骨架+皮肤+功能 效果展示 源代码: H5部分: <!DOCTYPE html> <html lang="en&quo ...

  9. 小米商城官网(登录页,首页,详情页,我的购物车页,我的订单页,确认订单页)HTML+CSS+JS

    文章目录 前言 一.登录页 二.首页 三.我的购物车页 四.我的订单页 五.确认订单页 六.详情页 七.整体结构和效果图 总结 前言 仿小米商城官网项目是本人实训内容,实训老师带着做的首页和登录页,本 ...

最新文章

  1. almost late for work
  2. 【leetcode】Remove Linked List Elements(easy)
  3. Visual Studio 智能提示功能消失解决办法
  4. [vue] 使用vue渲染大量数据时应该怎么优化?说下你的思路!
  5. 前端学习(178):表格元素
  6. easyui启用行号错位解决方案
  7. python的基础命令_深度学习中python常用命令
  8. Mask R-CNN
  9. 【Linux】Linux下 CURL如何发送http请求
  10. OpenShift 4 - DevSecOps (4) - 实现一个 CICD Pipeline,并用 RHACS 发现安全隐患
  11. matlab 信号分选 聚类_显示微缩化,对测试分选设备提出了怎样的要求?
  12. uml建模工具_Visual Paradigm 教程[UML]:绘制UML配置文件图
  13. 计算机毕业设计——选题参考
  14. 射线法判断点在多边形内适用范围_重庆球墨铸铁X射线实时成像实时成像系统真诚合作_丹东华日电气...
  15. 2021-01-27
  16. 回首向来萧瑟处 也无风雨也无晴
  17. PYTHON爬取豆瓣电影Top 250排行榜
  18. 专利撰写是什么工作_如何(以及为什么)撰写出色的用户故事
  19. 项目管理中的冲突管理
  20. JavaScript-js操作标签style相关

热门文章

  1. 55.exportfs命令 NFS客户端问题 FTP介绍与使用vsftpd搭建ftp
  2. 【人脸表情识别】基于图片的人脸表情识别,基本概念和数据集
  3. Android 手势密码锁
  4. 机器学习算法岗面经 | 优化方法总结对比:SGD、Momentum、AdaGrad、RMSProp、Adam
  5. 【一篇理清】C语言/C++/C#,及JAVA/Python的区别在什么地方?【建议收藏】
  6. Leveldb源码分析--1
  7. 稍等,我手机帮你远程调试下代码!
  8. python的复数四则运算代码_复数四则运算源代码
  9. sssssssssss
  10. RSA密码原理详解及算法实现(六步即可掌握)