基于html5 localStorage的购物车JS脚本详解编程语言
2023-06-13 09:20:28 时间
var ShoppingCart = utils.getParam("ShoppingCart");
if(ShoppingCart==null||ShoppingCart==""){
//第一次加入商品
var jsonstr = {"productlist":[{"id":product.id,"name":product.name,"num":product.num,"price":product.price}],"totalNumber":product.num,"totalAmount":(product.price*product.num)};
utils.setParam("ShoppingCart",""+JSON.stringify(jsonstr));
}else{
var jsonstr = JSON.parse(ShoppingCart.substr(1,ShoppingCart.length));
var productlist = jsonstr.productlist;
var result=false;
//查找购物车中是否有该商品
for(var i in productlist){
if(productlist[i].id==product.id){
productlist[i].num=parseInt(productlist[i].num)+parseInt(product.num);
result = true;
if(!result){
//没有该商品就直接加进去
productlist.push({"id":product.id,"name":product.name,"num":product.num,"price":product.price});
//重新计算总价
jsonstr.totalNumber=parseInt(jsonstr.totalNumber)+parseInt(product.num);
jsonstr.totalAmount=parseFloat(jsonstr.totalAmount)+(parseInt(product.num)*parseFloat(product.price));
orderdetail.totalNumber = jsonstr.totalNumber;
orderdetail.totalAmount = jsonstr.totalAmount;
//保存购物车
utils.setParam("ShoppingCart",""+JSON.stringify(jsonstr));
//修改给买商品数量
updateproductnum:function(id,num){
var ShoppingCart = utils.getParam("ShoppingCart");
var jsonstr = JSON.parse(ShoppingCart.substr(1,ShoppingCart.length));
var productlist = jsonstr.productlist;
for(var i in productlist){
if(productlist[i].id==id){
jsonstr.totalNumber=parseInt(jsonstr.totalNumber)+(parseInt(num)-parseInt(productlist[i].num));
jsonstr.totalAmount=parseFloat(jsonstr.totalAmount)+((parseInt(num)*parseFloat(productlist[i].price))-parseInt(productlist[i].num)*parseFloat(productlist[i].price));
productlist[i].num=parseInt(num);
orderdetail.totalNumber = jsonstr.totalNumber;
orderdetail.totalAmount = jsonstr.totalAmount;
utils.setParam("ShoppingCart",""+JSON.stringify(jsonstr));
return;
//获取购物车中的所有商品
getproductlist:function(){
var ShoppingCart = utils.getParam("ShoppingCart");
var jsonstr = JSON.parse(ShoppingCart.substr(1,ShoppingCart.length));
var productlist = jsonstr.productlist;
orderdetail.totalNumber = jsonstr.totalNumber;
orderdetail.totalAmount = jsonstr.totalAmount;
return productlist;
//判断购物车中是否存在商品
existproduct:function(id){
var ShoppingCart = utils.getParam("ShoppingCart");
var jsonstr = JSON.parse(ShoppingCart.substr(1,ShoppingCart.length));
var productlist = jsonstr.productlist;
var result=false;
for(var i in productlist){
if(productlist[i].id==product.id){
result = true;
return result;
//删除购物车中商品
deleteproduct:function(id){
var ShoppingCart = utils.getParam("ShoppingCart");
var jsonstr = JSON.parse(ShoppingCart.substr(1,ShoppingCart.length));
var productlist = jsonstr.productlist;
var list=[];
for(var i in productlist){
if(productlist[i].id==id){
jsonstr.totalNumber=parseInt(jsonstr.totalNumber)-parseInt(productlist[i].num);
jsonstr.totalAmount=parseFloat(jsonstr.totalAmount)-parseInt(productlist[i].num)*parseFloat(productlist[i].price);
}else{
list.push(productlist[i]);
jsonstr.productlist = list;
orderdetail.totalNumber = jsonstr.totalNumber;
orderdetail.totalAmount = jsonstr.totalAmount;
utils.setParam("ShoppingCart",""+JSON.stringify(jsonstr));
};
使用也很简单:
var product = id: id, //属性名用引号括起来,属性间由逗号隔开 name: hhh, num:jq(#text-4).val(), price:199.9 //商品加入到购物车 cart.addproduct(product); var productlist=cart.getproductlist();//取出购物车商品 alert(, 商品:+productlist[0].id+ +productlist[0].name+ +productlist[0].num+ +productlist[0].price, 确定);
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10091.html
cjava相关文章
- JS算法探险之字符串
- 使用 Dapr JS SDK 让 Nest.js 集成 Dapr(微软开源的分布式应用程序运行时)
- pdf.js使用方法「建议收藏」
- JS prototype作用
- JS 中的网络请求 AJAX, Fetch, WebSocket
- JS统计中英文字数
- js定时器与延时器_JS做定时器倒计时
- js获取当前年月日时分秒_js获取当前系统时间年月日
- Js中闭包的概念和具体使用
- get两个js小技能——JS截取视频第一帧&图片转Base64
- 如何使用jscythe并通过Node.js的Inspector机制执行任意JS代码
- js中标签字符串的拼接详解编程语言
- JS常用函数详解编程语言
- 使用JS连接MySQL数据库:实现化繁为简(js连接mysql数据库)
- 兼容性探究HTML5与Linux的兼容性(html5与linux)
- 如何使用HTML5连接MySQL数据库:同步数据更加高效和安全。(html5连接mysql数据库)
- 用SQL Server和JS实现数据库管理技术(sqlserver.js)
- JS技术连接Oracle数据库实现数据交互(js连接oracle实例)
- JS实时链接Oracle让数据库访问更便捷(js实时连接oracle)
- JS在Oracle中的应用(js如何oracle)
- 从前端JS里请求Redis资源,搭建高性能应用(前端js请求redis)
- Oracle中使用JS变量管理数据(oracle使用js变量)
- Oracle中JS的优势让数据库性能提升(oracle中 js)
- js对象之JS入门之Array对象操作小结
- js操作CheckBoxList实现全选/反选(在客服端完成)
- js中returnfalse(阻止)的用法
- js获取url参数代码实例分享(JS操作URL)
- JS将所有对象s的属性复制给对象r(原生js+jquery)
- 用js模拟struts2的多action调用示例
- Express作者TJ告别Node.js奔向Go