JS小案例之购物车
2015-10-08 23:20
513 查看
JS小案例之购物车
gwc1.js
gwc1.html
gwc1.js
function add_shoppingcart(ele){ //获取当前行的商品信息 var eleTr = ele.parentNode.parentNode; var eles = eleTr.getElementsByTagName("td"); var name = eles[0].innerText; var price = eles[1].innerText; //alert(name+price); var flag = find(name); if(!flag){ //添加到购物车中 var tbody = document.getElementById("goods"); var tr = document.createElement("tr"); tr.innerHTML = "<td>"+name+"</td> "+ "<td>"+price+"</td> "+ "<td align='center'> "+ "<input type='button' value='-' onclick=\"remove_one(this)\" /> "+ "<input type='text' size='3' readonly value='1'/> "+ "<input type='button' value='+' onclick=\"add_one(this)\" /> "+ "</td> "+ "<td>"+price+"</td> "+ "<td align='center'><input type='button' value='x' onclick=\"delete1(this)\"/></td>"; tbody.appendChild(tr); } total_price(); } function find(str){ var tbody = document.getElementById("goods"); var trs = tbody.getElementsByTagName("tr"); //console.log(str+"length:"+trs.length); for(var i=0;i<trs.length;i++){ var td_name = trs[i].childNodes[0]; var name = td_name.innerText; //console.log(name); if(str==name){ add(trs[i]); return true; } } return false; } function add(tr) { var tds = tr.getElementsByTagName("td"); var td_price = tds[1]; var price = parseInt(td_price.innerText); var td_count = tds[2]; var input = td_count.getElementsByTagName("input")[1]; var num = parseInt(input.value); var td_value = tds[3]; var value = parseInt(td_value.innerText); num ++; value += price; input.value = num; td_value.innerText = value; total_price(); } function delete1(ele){ var eleTr = ele.parentNode.parentNode; eleTr.parentNode.removeChild(eleTr); total_price(); } function remove_one(ele) { var tr = ele.parentNode.parentNode; var tds = tr.getElementsByTagName("td"); var td_price = tds[1]; var price = parseInt(td_price.innerText); var td_count = tds[2]; var input = td_count.getElementsByTagName("input")[1]; var num = parseInt(input.value); var td_value = tds[3]; var value = parseInt(td_value.innerText); //alert(price+num+value); if(num>1){ num--; value-=price; input.value = num; td_value.innerText = value; } total_price(); } function add_one(ele) { var tr = ele.parentNode.parentNode; var tds = tr.getElementsByTagName("td"); var td_price = tds[1]; var price = parseInt(td_price.innerText); var td_count = tds[2]; var input = td_count.getElementsByTagName("input")[1]; var num = parseInt(input.value); var td_value = tds[3]; var value = parseInt(td_value.innerText); num ++; value += price; input.value = num; td_value.innerText = value; total_price(); } function total_price(){ var total = document.getElementById("total"); var tbody = document.getElementById("goods"); var trs = tbody.getElementsByTagName("tr"); //alert(111); var sum = 0; for(var i=0;i<trs.length;i++){ var td_price = trs[i].getElementsByTagName("td")[3]; //console.log(td_price); var price = parseInt(td_price.innerText); //console.log(price); //console.log(trs.length); sum += price; } //console.log(sum); total.innerHTML = sum; }
gwc1.html
<!DOCTYPE html> <html> <head> <title>购物车</title> <meta charset="utf-8" /> <style type="text/css"> h1 { text-align:center; } table { margin:0 auto; width:60%; border:2px solid #aaa; border-collapse:collapse; } table th, table td { border:2px solid #aaa; padding:5px; } th { background-color:#eee; } </style> <script src="gwc1.js" type="text/javascript"></script> </head> <body> <h1>真划算</h1> <table> <tr> <th>商品</th> <th>单价(元)</th> <th>颜色</th> <th>库存</th> <th>好评率</th> <th>操作</th> </tr> <tr> <td>罗技M185鼠标</td> <td>80</td> <td>黑色</td> <td>893</td> <td>98%</td> <td align="center"> <input type="button" value="加入购物车" onclick="add_shoppingcart(this);"/> </td> </tr> <tr> <td>微软X470键盘</td> <td>150</td> <td>黑色</td> <td>9028</td> <td>96%</td> <td align="center"> <input type="button" value="加入购物车" onclick="add_shoppingcart(this);"/> </td> </tr> <tr> <td>洛克iphone6手机壳</td> <td>60</td> <td>透明</td> <td>672</td> <td>99%</td> <td align="center"> <input type="button" value="加入购物车" onclick="add_shoppingcart(this);"/> </td> </tr> <tr> <td>蓝牙耳机</td> <td>100</td> <td>蓝色</td> <td>8937</td> <td>95%</td> <td align="center"> <input type="button" value="加入购物车" onclick="add_shoppingcart(this);"/> </td> </tr> <tr> <td>金士顿U盘</td> <td>70</td> <td>红色</td> <td>482</td> <td>100%</td> <td align="center"> <input type="button" value="加入购物车" onclick="add_shoppingcart(this);"/> </td> </tr> </table> <h1>购物车</h1> <table> <thead> <tr> <th>商品</th> <th>单价(元)</th> <th>数量</th> <th>金额(元)</th> <th>删除</th> </tr> </thead> <tbody id="goods"> <!-- <tr> <td>罗技M185鼠标</td> <td>80</td> <td align="center"> <input type="button" value="-" onclick="remove_one(this);"/> <input type="text" size="3" readonly value="1"/> <input type="button" value="+" onclick="add_one(this);"/> </td> <td>80</td> <td align="center"><input type="button" value="x" onclick="delete1(this);"/></td> </tr> --> </tbody> <tfoot> <tr> <td colspan="3" align="right">总计</td> <td id="total"></td> <td></td> </tr> </tfoot> </table> </body> </html>
相关文章推荐
- 【js】day06_DOM
- 【js】day05_BOM
- JavaScript之一: 闭包、执行环境、作用域链
- 从一个简单例子来理解js引用类型指针的工作方式
- JNI中的string返回jstring
- js导航栏单击事件背景颜色变换
- 二、JavaScript语言--JS基础--JavaScript入门篇
- 多角度了解Javascript闭包
- javascript 笔试 做一个图片轮播的脚本
- 无需Flash无需依赖任何JS库实现文本复制与剪切
- 对于新增节点的JS操作问题
- JavaScript+Canvas 实现网页截屏
- JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里
- jsp中静态include和动态include的区别
- js写法【3】
- 选择下拉框某一项 链接到页面
- 简单的横向下拉菜单js
- OBIEE中JS的使用---dashboard中prompt的展示和隐藏
- 核心Javascript学习
- OFBiz界面通过Ajax获取json数据