AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

jquery.cookie实现的客户端购物车操作实例

51自学网 http://www.wanshiok.com
jquery,cookie,客户端,购物车,jquery购物车

本文实例讲述了jquery.cookie实现的客户端购物车操作。分享给大家供大家参考,具体如下:

//购物车var Cart = function () {  this.Count = 0;  this.Total = 0;  this.Items = new Array();};//购物车集合对象var CartItem = function () {  this.Id = 0;  this.Name = "";  this.Count = 0;  this.Price = 0;}; //购物车操作var CartHelper = function () {  this.cookieName = "yxhCart";  this.Clear = function () {    var cart = new Cart();    this.Save(cart);    return cart;  };  //向购物车添加  this.Add = function (id, name, count, price) {    var cart = this.Read();    var index = 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 {      var item = new CartItem();      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);    return cart;  };  //改变数量  this.Change = function (id, count) {    var cart = this.Read();    var index = this.Find(id);    cart.Items[index].Count = count;    this.Save(cart);    return cart;  };  //移出购物车  this.Del = function (id) {    var cart = this.Read();    var index = this.Find(id);    if (index > -1) {      var item = cart.Items[index];      cart.Count--;      cart.Total = cart.Total - (((item.Count * 100) * (item.Price * 100)) / 10000);      cart.Items.splice(index, 1);      this.Save(cart);    }    return cart;  };  //根据ID查找  this.Find = function (id) {    var cart = this.Read();    var index = -1;    for (var i = 0; i < cart.Items.length; i++) {      if (cart.Items[i].Id == id) {        index = i;      }    }    return index;  };  //COOKIE操作  this.Save = function (cart) {    var source = "";    for (var i = 0; i < cart.Items.length; i++) {      if (source != "") { source += "|$|"; }      source += this.ItemToString(cart.Items[i]);    }    $.cookie(this.cookieName, source);  };  this.Read = function () {    //读取COOKIE中的集合    var source = $.cookie(this.cookieName);    var cart = new Cart();    if (source == null || source == "") {      return cart;    }    var arr = source.split("|$|");    cart.Count = arr.length;    for (var i = 0; i < arr.length; i++) {      var item = this.ItemToObject(arr[i]);      cart.Items.push(item);      cart.Total += (((item.Count * 100) * (item.Price * 100)) / 10000);    }    return cart;  };  this.ItemToString = function (item) {    return item.Id + "||" + escape(item.Name) + "||" + item.Count + "||" + item.Price;  };  this.ItemToObject = function (str) {    var arr = str.split('||');    var item = new CartItem();    item.Id = arr[0];    item.Name = unescape(arr[1]);    item.Count = arr[2];    item.Price = arr[3];    return item;  };};

希望本文所述对大家jQuery程序设计有所帮助。


jquery,cookie,客户端,购物车,jquery购物车  
上一篇:jquery读写cookie操作实例分析  下一篇:jQuery基于cookie实现的购物车实例分析