图书购买系统,本地添加购物车(不需要登录一样可以添加购物车,结算时需要登录)
来源:互联网 发布:暴风影音mac官方下载 编辑:程序博客网 时间:2024/05/16 11:45
1.category.html页面:显示书籍信息页面
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src="../../js/bootstrap/js/jquery-3.1.1.js"></script> <script src="../../js/bootstrap/js/bootstrap.js"></script> <link rel="stylesheet" href="../../js/bootstrap/css/bootstrap.css" /> <!--导入category.js文件--> <script src="category.js"></script> <title></title> </head> <body> <div class="container"> <ol class="breadcrumb"> <li><a href="home.html">首页</a></li> <li><a id="navpath" href="#">全部商品</a></li> </ol> </div> <div class="container"> <div style="margin-left: 100px;margin-right: 100px;background: red;"> <img src="../../img/otherimages/productlist.gif" style="width: 100%;height: 40px;" /> <div class="thumbnail text-center pull-left" style="margin: 15px;"> <img src="../../img/bookimage/20285763-1_b.jpg" /> <p>书名:JAVA模式</p> <p>售价:21.5</p> <input type="image" onclick="addCart('10000','Java模式','21.5','100')" src="../../img/otherimages/buybutton.gif"/> </div> <div class="thumbnail text-center pull-left" style="margin: 15px;"> <img src="../../img/bookimage/20412979-1_b.jpg" /> <p>书名:javascript</p> <p>售价:18.5</p> <input type="image" onclick="addCart('10001','javascript','18.5','100')" src="../../img/otherimages/buybutton.gif"/> </div> </div> </div> <div class="container"> <nav class="text-center"> <ul class="pagination text-center" > <li><a href="#"><span>«首页</span> </a></li> <li><a href="#">上一页</a></li> <li><a href="#">下一页</a></li> <li><a href="#"> <span>末页»</span></a></li> <span style="line-height: 30px;margin-left: 10px;">3/15</span> </ul> </nav> </div> </body></html>
2.category.js文件,实现添加购物车功能
//截取url//动态改变路径导航的信息$(function(){ var url = window.location.search; url = decodeURI(url); var subs = url.substr(url.indexOf("category=")+9); $("#navpath").html(subs);})//购物车思路://1、本地购物车 京东 不要登录一样可以加购物车,结算的时候才需要登录//2、服务器购物车 淘宝 一定要登录才能添加购物车//本地购物车:把添加到购物车的数据保存到浏览器中(localStorage)//方法传参:书的id,书名,书售价,书的库存//在保存到localStorage的时候,需要先把js对象转换为字符串再保存(localStorage只能够保存字符串)function addCart(id,name,price,num){ //1.创建一个js对象 var book = { "product_id":id, //书的id "name":name, //书名 "price":price, //售价 "num":num, //库存 "buynum":1 //购买数量 } //2.获取已经保存的 数据 var storebooks = localStorage.getItem("carts"); //将已经获取到的字符串数据转换成数组 var bookArr = JSON.parse(storebooks); //2-1 如果购物车里面数据为空,说明从来没有保存过数据 if(bookArr==null){ //创建一个数组 var books = new Array(); //把要保存的数据存到数组中 books.push(book); //将数组转换成字符串 var bookstr = JSON.stringify(books); alert(bookstr); //将字符串保存到localStorge中 localStorage.setItem("carts",bookstr); } //2-2 说明已经保存过数据了 else{ //1.判断我们将要保存的书籍是否已经存在购物车了,如果存在,则让购买数量+1 var isfind = false; for(var i=0;i<bookArr.length;i++){ var b = bookArr[i]; if(b.product_id==book.product_id){ b.buynum++; isfind = true; break; } } //2.如果不存在,则将该书添加到购物车列表中 if(isfind == false){ bookArr.push(book); } //3.把bookArr重新转换成字符串保存 var s = JSON.stringify(bookArr); localStorage.setItem("carts",s); } alert("添加成功");}
3.cart.html页面,购物车页面
<!DOCTYPE html><html> <head> <meta charset="UTF-8"><br /> <script src="../../js/bootstrap/js/jquery-3.1.1.js"></script> <script src="../../js/bootstrap/js/bootstrap.js"></script> <link rel="stylesheet" href="../../js/bootstrap/css/bootstrap.css" /> <link rel="stylesheet" href="../common/head.css"/> <script src="../common/head.js"></script> <script src="cart.js"></script> <title></title> </head> <body> <div class="container"> <!--正文内容--> <div style="margin-left: 100px;margin-right: 100px;"> <img src="../../img/otherimages/buy1.gif" /> <div class="panel panel-info table-responsive" style="margin-top: 30px;"> <div class="panel-heading text-center"><h4><strong>购物车列表</strong></h4></div> <div id="carttable"><!--这里动态添加购物车数据--></div> <div class="panel-footer" style="padding-left: 90%;">总计:40</div> </div> <form class="form-horizontal"> <div class="form-group"> <label for="receiverAddress" class="col-md-1 control-label">地址</label> <div class="col-md-4"> <input type="email" class="form-control" name="receiverAddress" id="receiverAddress" placeholder="请输入收货地址"> </div> </div> <div class="form-group"> <label for="receiverName" class="col-md-1 control-label">收货人</label> <div class="col-md-4"> <input type="text" class="form-control" id="receiverName" name="receiverName" placeholder="请输入收货人姓名"> </div> </div> <div class="form-group"> <label for="receiverPhone" class="col-md-1 control-label">电话</label> <div class="col-md-4"> <input type="text" class="form-control" id="receiverPhone" name="receiverPhone" placeholder="请输入收货人电话"> </div> </div> <div class="form-group"> <div class="col-md-12 text-right"> <a href="../book/home.html"><img src="../../img/otherimages/gwc_jx.gif"/></a> <a href="#"><img src="../../img/otherimages/gwc_buy.gif"/></a> </div> </div> </form> </div> </div> </body></html>
4.cart.js页面 实现购物车动态添加数据功能
//购物车表格动态加载本地购物车的信息$(function(){ //1.从localstorge获取所存的购物车的信息 var books = localStorage.getItem("carts"); var bookArr = JSON.parse(books); //2.声明一个html用来拼接页面 var html = ""; html += "<table class='table table-hover text-center'>"; html += " <tr class='danger'>"; html += " <th class='text-center'>序号</th>"; html += " <th class='text-center'>商品名称</th>"; html += " <th class='text-center'>价格</th>"; html += " <th class='text-center'>购买数量</th>"; html += " <th class='text-center'>库存</th>"; html += " <th class='text-center'>小计</th>"; html += " </tr>"; //3.遍历数组 for(var i=0;i<bookArr.length;i++){ //获取到一本书 var abook = bookArr[i]; html += "<tr>"; html += "<td>"+i+"</td>"; html += "<td>"+abook.name+"</td>"; html += "<td>"+abook.price+"</td>"; html += "<td>"+abook.buynum+"</td>"; html += "<td>"+abook.num+"</td>"; html += "<td>"+abook.price*abook.buynum +"</td>"; html += "</tr>"; } html += " </table>"; $("#carttable").html(html);})
5.效果显示
0 0
- 图书购买系统,本地添加购物车(不需要登录一样可以添加购物车,结算时需要登录)
- 图书购买系统之本地添加购物车(完善版)--实现生成订单和子订单
- cookie自动登录,添加到购物车
- 基于JQuery的购物车添加删除以及结算功能
- 添加购物&查看购物车
- 购物商城---购物车,结算
- 购物车,清空购物车,添加数量,结算总价,总数量,全选,
- 怎么样给ECShop购物车添加购买数量加减按钮
- 购物车结算功能
- 购物车结算
- 购物车结算
- 购物车结算
- angular购物车结算
- django 购物系统 - 添加至购物车表单
- django 购物系统 - 添加至购物车表单
- 添加到购物车
- 添加购物车动画
- 添加购物车功能
- hdu6016
- Java多线程——生产者消费者模型-演义
- 171. Excel Sheet Column Number
- flask的request_context原理 基于flask v0.1
- 触发jquery.validate方法验证
- 图书购买系统,本地添加购物车(不需要登录一样可以添加购物车,结算时需要登录)
- Android 系统自动重启Bug(高通平台)
- Draft.js 随机数实现原理
- 傅里叶变换时间复杂度
- 【小题】打印杨辉三角(java版)
- Servlet+ajax实现模糊搜索
- MPI学习五 组通信MPI程序设计
- 测试小故事19:我不要写计划
- sort与qsort对比解析