原生JS实现购物车的添加删除,以及总价计算的功能
2017-09-09 11:19
966 查看
add方法,传入一个参数items。items是一个数组,数组元素为{name:String,price:Number}。通过add方法可以在在购物车列表新增商品
bind方法,实现点击删除,能够删除对应的列
同时,注意总计的商品总价应该符合逻辑计算,所有价钱应该保留小数点后2位。
![](https://img-blog.csdn.net/20170909112009042?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzA2MDQ0NTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
bind方法,实现点击删除,能够删除对应的列
同时,注意总计的商品总价应该符合逻辑计算,所有价钱应该保留小数点后2位。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <table id="jsTrolley"> <thead><tr><th>名称</th><th>价格</th><th>操作</th></tr></thead> <tbody> <tr><td>产品1</td><td>10.00</td><td><a href="javascript:void(0);">删除</a></td></tr> <tr><td>产品2</td><td>30.20</td><td><a href="javascript:void(0);">删除</a></td></tr> <tr><td>产品3</td><td>20.50</td><td><a href="javascript:void(0);">删除</a></td></tr> </tbody> <tfoot><tr><th>总计</th><td colspan="2">60.70(3件商品)</td></tr></tfoot> </table> </body> <script type="text/javascript"> function add(items) { var sum = 0, num = 0, html = "", table = document.getElementById("jsTrolley"), tbody = table.getElementsByTagName("tbody")[0], tfoot = table.getElementsByTagName('tfoot')[0], tr = tbody.getElementsByTagName("tr"); price = tfoot.getElementsByTagName('td')[0]; for (var i = 0; i < tr.length; i++) { var a = tr[i].getElementsByTagName('td')[1]; sum += parseFloat(a.innerHTML); } for(var i =0;i<items.length;i++){ sum += items[i].price; html += "<tr><td>"+items[i].name+"</td><td>"+items[i].price.toFixed(2)+"</td><td><a href='javascript:void(0);'>删除</a></td></tr>"; } html = tbody.innerHTML+html; tbody.innerHTML = html; num = tbody.getElementsByTagName("tr").length; price.innerHTML = sum.toFixed(2)+"("+num+"件商品)"; } add([{name:"dd",price:11.00},{name:"ddd",price:55.0}]); function bind() { function fn(){ var node = this.parentNode.parentNode; node.parentNode.removeChild(node); var sum = 0,num=0; var tbody = document.getElementById("jsTrolley").getElementsByTagName("tbody")[0]; var tr = tbody.getElementsByTagName("tr"); for (var i = 0; i < tr.length; i++) { var a = tr[i].getElementsByTagName('td')[1]; sum += parseFloat(a.innerHTML); num++; } num = tbody.getElementsByTagName("tr").length; price.innerHTML = sum.toFixed(2)+"("+num+"件商品)"; } var del = document.getElementById("jsTrolley").getElementsByTagName("a"); for (var i = 0; i < del.length; i++) { del[i].onclick = fn; } } bind(); </script> </html>
相关文章推荐
- 购物车中计算checkBox选中总价功能的实现
- 原生js实现查找/添加/删除/指定元素的class
- 基于JQuery的购物车添加删除以及结算功能示例
- JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
- 一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)
- 实现购物车结算功能:批量和全部删除,全选和反选,单价和总价,数量增减,页面隐藏和显示
- 计算原生代码+json实现购物车结算功能
- 基于JQuery的购物车添加删除以及结算功能
- JQuery 实现购物栏物品的添加与删除 总价计算案例
- js 简单实现表单数据的增添,单项删改,多项删除,修改以及全选功能
- js实现网页收藏功能,动态添加删除网址
- 模仿购物车实现ListView中商品数量的添加以及总价的调整
- jQuery的index()原生js实现以及删除空白文本节点函数
- jquery实现全选、反选以及删除、添加等功能
- jQuery实现购物车多物品数量的加减+总价+删除计算
- 实现购物车结算功能:批量/全部删除,全选,单价/总价,数量增减,页面隐藏/显示
- 原生JS实现购物车结算功能代码+zepto版
- 【笔记】js原生方法 在元素外部或内部实现添加元素功能(类似jq 的 insert 和 append)
- JS实现动态表格的添加,修改,删除功能(推荐)