jquery.cookie实现的客户端购物车操作实例
本文实例讲述了jquery.cookie实现的客户端购物车操作。分享给大家供大家参考,具体如下:
//购物车 varCart=function(){ this.Count=0; this.Total=0; this.Items=newArray(); }; //购物车集合对象 varCartItem=function(){ this.Id=0; this.Name=""; this.Count=0; this.Price=0; }; //购物车操作 varCartHelper=function(){ this.cookieName="yxhCart"; this.Clear=function(){ varcart=newCart(); this.Save(cart); returncart; }; //向购物车添加 this.Add=function(id,name,count,price){ varcart=this.Read(); varindex=this.Find(id); //如果ID已存在,覆盖数量 if(index>-1){ cart.Total-=(((cart.Items[index].Count*100)*(cart.Items[index].Price*100))/10000); cart.Items[index].Count=count; cart.Total+=(((cart.Items[index].Count*100)*(cart.Items[index].Price*100))/10000); }else{ varitem=newCartItem(); item.Id=id; item.Name=name; item.Count=count; item.Price=price; cart.Items.push(item); cart.Count++; cart.Total+=(((cart.Items[index].Count*100)*(cart.Items[index].Price*100))/10000); } this.Save(cart); returncart; }; //改变数量 this.Change=function(id,count){ varcart=this.Read(); varindex=this.Find(id); cart.Items[index].Count=count; this.Save(cart); returncart; }; //移出购物车 this.Del=function(id){ varcart=this.Read(); varindex=this.Find(id); if(index>-1){ varitem=cart.Items[index]; cart.Count--; cart.Total=cart.Total-(((item.Count*100)*(item.Price*100))/10000); cart.Items.splice(index,1); this.Save(cart); } returncart; }; //根据ID查找 this.Find=function(id){ varcart=this.Read(); varindex=-1; for(vari=0;i<cart.Items.length;i++){ if(cart.Items[i].Id==id){ index=i; } } returnindex; }; //COOKIE操作 this.Save=function(cart){ varsource=""; for(vari=0;i<cart.Items.length;i++){ if(source!=""){source+="|$|";} source+=this.ItemToString(cart.Items[i]); } $.cookie(this.cookieName,source); }; this.Read=function(){ //读取COOKIE中的集合 varsource=$.cookie(this.cookieName); varcart=newCart(); if(source==null||source==""){ returncart; } vararr=source.split("|$|"); cart.Count=arr.length; for(vari=0;i<arr.length;i++){ varitem=this.ItemToObject(arr[i]); cart.Items.push(item); cart.Total+=(((item.Count*100)*(item.Price*100))/10000); } returncart; }; this.ItemToString=function(item){ returnitem.Id+"||"+escape(item.Name)+"||"+item.Count+"||"+item.Price; }; this.ItemToObject=function(str){ vararr=str.split('||'); varitem=newCartItem(); item.Id=arr[0]; item.Name=unescape(arr[1]); item.Count=arr[2]; item.Price=arr[3]; returnitem; }; };
希望本文所述对大家jQuery程序设计有所帮助。