html cookie购物车,Javascript操纵Cookie实现购物车程序_javascript技巧

var tempTypeObj=tempTypes[i].split('#');

var type_pro=new Array();

if(tempTypeObj[1]){

var tempProObj=tempTypeObj[1].split('|');

for(j=0;jvar proDesc=tempProObj[j].split(':');

type_pro.push(new this.proObj(proDesc[0],proDesc[1]));

}

}

this.carDatas.push(new this.typeObj(tempTypeObj[0],type_pro));

}

}

//##公共方法列表#########################################################

//

//  addType(typeName);          //增加一个类别

//  addPro(typeName,proName,value);    //增加一个产品

//  editPro(typeName,proName,value);  //修改产品的值

//  delPro(typeName,proName);      //删除购物车内的一个类别下的产品

//  delType(typeName);          //删除购物车内的一个类别,包括类别下的产品

//  delCar();              //删除购物车

//

//  getCar();              //得到整个购物车的数据

//  getType();              //得到购物车内的所有类别列表

//  getPro(typeName);          //得到购物车内指定类别下的产品列表

//  getProVal(typeName,proName);    //得到购物车内指定类别下的产品属性

//

//########################################################################

/**

@desc 在购物车里增加一个类别,增加成功返回真,否则返回假

@return bool

*/

this.addType=function(typeName){

if(this.getTypePoint(typeName)!=-1)    return false;        //如果已经有此类别了,返回假

this.carDatas.push(new this.typeObj(typeName,new Array()));      //push进 自身数组

this.saveCookie();  //存入 Cookie

return true;

}

/**

@desc 在购物车里增加一个产品,增加成功返回真,否则返回假

@return bool

*/

this.addPro=function(typeName,proName,value){

var typePoint=this.getTypePoint(typeName);      if ( typePoint ==-1 ) return false;    //没有此类别,无法增加,返回假

var proPoint =this.getProPoint(typePoint,proName);  if ( proPoint != -1 ) return false;    //有此产品了,无法增加重复,返回假

this.carDatas[typePoint].value.push(new this.proObj(proName,value));  //push到自身数组

this.saveCookie();  //存入 Cookie

return true;

}

/**

@desc 修改购物车里的产品属性

@return bool

*/

this.editPro=function(typeName,proName,value){

var typePoint=this.getTypePoint(typeName);      if ( typePoint == -1 ) return false;  //没有此类别,无法修改,返回假

var proPoint =this.getProPoint(typePoint,proName);  if ( proPoint == -1 ) return false;  //没有此产品,无法修改,返回假

this.carDatas[typePoint].value[proPoint].value=value;              //更新自身

this.saveCookie();  //存入 Cookie

return true;

}

/**

@desc 删除一个产品

@return bool

*/

this.delPro=function(typeName,proName){

var typePoint=this.getTypePoint(typeName);      if ( typePoint == -1 ) return false;  //没有此类别,无法删除,返回假

var proPoint =this.getProPoint(typePoint,proName);  if ( proPoint == -1 ) return false;  //没有此产品,无法删除,返回假

var pros=this.carDatas[typePoint].value.length;

this.carDatas[typePoint].value[proPoint] = this.carDatas[typePoint].value[pros-1];  //最后一个产品放置要删除的产品上

this.carDatas[typePoint].value.pop();

this.saveCookie();  //存入 Cookie

return true;

}

/**

@desc 删除一个类别

@return bool

*/

this.delType=function(typeName){

var typePoint=this.getTypePoint(typeName);  if ( typePoint == -1 ) return false;  //没有此类别,无法删除,返回假

var types=this.carDatas.length;

this.carDatas[typePoint] = this.carDatas[types-1];            //删除类别

this.carDatas.pop();

this.saveCookie();  //存入 Cookie

return true;

}

/**

@desc 删除此购物车

@return void

*/

this.delCar=function(){

this.cookie.setCookie(this.carName,'',0);

this.carDatas=new Array();

this.saveCookie();  //存入 Cookie

}

/**

@desc 获得购物车数据

@return Array

*/

this.getCar=function(){

return this.carDatas;

}

/**

@desc 获得类别列表

@return Array

*/

this.getType=function(){

var returnarr=new Array();

for ( i=0; ireturn returnarr;

}

/**

@desc 获得类别下的产品列表

@return Array

*/

this.getPro=function(typeName){

var typePoint=this.getTypePoint(typeName);  if ( typePoint == -1 ) return false;  //没有此类别,返回假

return this.carDatas[typePoint].value;

}

/**

@desc 获得商品属性

@return String

*/

this.getProVal=function(typeName,proName){

var typePoint=this.getTypePoint(typeName);      if ( typePoint == -1 ) return false;  //没有此类别,返回假

var proPoint =this.getProPoint(typePoint,proName);  if ( proPoint == -1 ) return false;  //没有此产品,返回假

return this.carDatas[typePoint].value[proPoint].value;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值