javascript 购物车

var cookie={
        //读取COOKIES,n为COOKIE名
          Get:function(n){  
            var re=new RegExp(n+'=([^;]*);?','gi');  
            var r=re.exec(document.cookie)||[];  
            return (r.length>1?r[1]:null)  
          },
            Get1:function(n){  
            var re=new RegExp(n+'=([^;]*);?','gi');  
            var r=re.exec(document.cookie)||[];  
            return unescape(r.length>1?r[1]:null)  
          },
          //写入COOKIES,n为Cookie名,v为value
          Set:function(n,v,e,p,d,s){
            var t=new Date;  
            if(e){  
          // 8.64e7 一天  3.6e6 一小时
          t.setTime(t.getTime() + (e*3.6e6));
              
             }
            document.cookie=n+'='+v+'; '+(!e?'':'; expires='+t.toUTCString())+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+(!s?'':'; secure')  // Set cookie
          },
            Set1:function(n,v,e,p,d,s){
            var t=new Date;  
            if(e){  
          // 8.64e7 一天  3.6e6 一小时
          t.setTime(t.getTime() + (e*8.64e7));
              
             }
            document.cookie=n+'='+escape(v)+'; '+(!e?'':'; expires='+t.toUTCString())+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+(!s?'':'; secure')  // Set cookie
          },
          Del:function(n,p,d){  
            var t=cookie.Get(n);  
            document.cookie=n+'='+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+'; expires=Thu, 01-Jan-70 00:00:01 GMT';  
            return t  
          }
        };

        
        
        
    var Common = {
             //移除数组中指定项
             delArr:function(ar,n) {  //n表示第几项,从0开始算起。
             if(n<0)  //如果n<0,则不进行任何操作。
                 return ar;
             else
                 return ar.slice(0,n).concat(ar.slice(n+1,ar.length));
             },
             
             //添加至购物车
             intoCar:function(proid,quantity,proname,imgurl,_price) {
             if(proid != "" && proname != "") {
             var ProIDList = cookie.Get("carList"); //车内商品ID列表
             if(ProIDList!=null && ProIDList!="" && ProIDList!="null")
             {
                  if(!Common.hasOne(proid))
                  {
                     ProIDList += "&"+proid+"="+proid+"|"+quantity+"|"+escape(proname)+"|"+escape(imgurl)+"|"+_price;
                     cookie.Set("carList",ProIDList,2,"/");//更新购物车清单
                     TotalPro = cookie.Get("TotalPro"); //当前车内含有商品的总数
                      TotalPro++; //总数+1
                     cookie.Set("TotalPro",TotalPro,2,"/");
                  }
                  else
                  {
                      alert("购物车中已含有此商品");
                  }
             }
             else {
             
                  ProIDList=proid+"="+proid+"|"+quantity+"|"+escape(proname)+"|"+escape(imgurl)+"|"+_price;
                  cookie.Set("carList",ProIDList,2,"/");//更新购物车清单
                      
                  cookie.Set("TotalPro",1,2,"/");
             }
             Common.reloadcar();//更新顶部个数显示
             //alert(ProIDList);
             }
             
             },  //添加物品结束
             
             //重置购物车内个数
             reloadcar:function()
             {
             var t=cookie.Get("TotalPro");
             if(t!=""&&t!="null")
             document.getElementById("cart_num").innerText="(" + cookie.Get("TotalPro") + ")";
             else
             document.getElementById("cart_num").innerText="(0)";
             },  //重置结束
             
             //检验购物车内是否已经含有该商品
             hasOne:function(pid){
             ProIDList = cookie.Get("carList"); //车内商品ID列表
                  if(ProIDList.lastIndexOf("&") != -1){
                      var arr=ProIDList.split("&");
                      for(i=0;i<arr.length;i++)
                      {
                            var arrs=arr[i].split("|");
                          for(j=0;j<arrs.length;j++)
                          {
                              //alert(arrs[j].toString().substr(0,arrs[j].indexOf("=")));
                              if(arrs[j].toString().substr(0,arrs[j].indexOf("="))==pid)
                             {
                                 //alert(arrs[j].toString().substr(0,arrs[j].indexOf("=")) + " <--------> " + pid);
                                return true;
                             }
                          }
                      }
                  }
                  else if(ProIDList!="null"&&ProIDList!="")
                  {
                      if(ProIDList.substr(0,ProIDList.indexOf("="))==pid)
                      return true;
                  }
                  return false;
             },  //检测结束
             
             //移除某商品
             reMoveOne:function(proid){
                  if(Common.hasOne(proid)){
                       if(ProIDList.lastIndexOf("&") != -1){
                       var arr=ProIDList.split("&");
                       for(i=0;i<arr.length;i++){
                                 var arrs=arr[i].split("|");
                              for(j=0;j<arrs.length;j++)
                              {
                                  if(arrs[j].toString().substr(0,arrs[j].indexOf("="))==proid)
                                 {
                                   var arr2=Common.delArr(arr,i);
                                   var tempStr=arr2.join("&"); //由数组重组字符串
                                   
                                   cookie.Set("carList",tempStr,2,"/");//更新购物车清单
                                   var t=cookie.Get("TotalPro");
                                   cookie.Set("TotalPro",t-1,2,"/");//更新Cookies中的个数
                                  // Common.reloadcar();//更新顶部个数显示
                                   return;
                                 }
                              }
                              }
                       }
                       else{
                           
                           cookie.Set("carList","null");//更新购物车清单
                           var t=cookie.Get("TotalPro");
                           cookie.Set("TotalPro",0,2,"/");//更新购物车清单
                          // Common.reloadcar();//更新顶部个数显示
                       }
                  }
             
             },   //移除物品结束
             
             //修改某物品数量
             updateQuantity:function(proid,quantity){
                 ProIDList = cookie.Get("carList"); //车内商品ID列表
                 if(ProIDList.lastIndexOf("&") != -1) {
                       var arr=ProIDList.split("&");
                       var sub=Common.getSubPlace(ProIDList,proid);//获取该物品在COOKIE数组中的下标位置
                       var arr2=arr[sub].split("|");
                       arr2[1]=quantity;
                       var tempStr=arr2.join("|");//由数组重组字符串
                       arr[sub] = tempStr;
                       var newProList = arr.join("&");//由数组重组字符串
                       cookie.Set("carList",newProList,2,"/");//更新购物车清单
                        //alert(newProList);
                 }
                 else {
                 
                       var arr=ProIDList.split("|");
                       arr[1]=quantity;
                       var newProList=arr.join("|");
                       cookie.Set("carList",newProList,2,"/");//更新购物车清单
                       //alert(newProList);
                 }
             
             },  //修改物品结束
             
             //返回指定物品所在数组的下标位置
             getSubPlace:function(list,proid){
                  var arr=list.split("&");
                       for(i=0;i<arr.length;i++){
                            var arrs=arr[i].split("|");
                            for(j=0;j<arrs.length;j++)
                            {
                                  if(arrs[j].toString().substr(0,arrs[j].indexOf("="))==proid)
                                 {
                                    return i;
                                 }
                              }
                       }
                     
             },
             add: function(id){
                 $(id).val(parseInt($(id).val()) + 1);
             },
             reduce: function(id){
                 if($(id).val() == 0)
                 alert("数量不能小于零!");
                 if($(id).val() > 0)
                 {
                     $(id).val($(id).val() - 1);
                 }
             }
        };
        
           //alert(Common.getSubPlace(cookie.Get("carList"),'1101'));
        
           //Common.reMoveOne('id111001');
           //alert(Common.hasOne('id111001'));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值