本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答