1. 程式人生 > >localStorage存值取值以及存取JSON,以及基於html5 localStorage的購物車

localStorage存值取值以及存取JSON,以及基於html5 localStorage的購物車

_for 獲取 substr 查找 nbsp assets tlist for tps

http://blog.csdn.net/u013267266/article/details/51530611

  1. localStorage.setItem("key","value");//存儲變量名為key,值為value的變量
  2. localStorage.key = "value"//存儲變量名為key,值為value的變量
  3. localStorage.getItem("key");//獲取存儲的變量key的值www.it165.net
  4. localStorage.key;//獲取存儲的變量key的值
  5. localStorage.removeItem("key")//刪除變量名為key的存儲變量
[javascript] view plain copy 技術分享技術分享
  1. //以上即為localStorage調用的方法。下面介紹存儲JSON對象的方法。
  2. var students =
  3. {
  4. liyang:{name:"liyang",age:17},
  5. lilei:{name:"lilei",age:18}
  6. }//要存儲的JSON對象
  7. students = JSON.stringify(students);//將JSON對象轉化成字符串
  8. localStorage.setItem("students",students);//用localStorage保存轉化好的的字符串
[javascript] view plain copy 技術分享技術分享
  1. //上面即可保存JSON對象,接下來我們在要使用的時候再將存儲好的students變量取回
  2. var students = localStorage.getItem("students");//取回students變量
  3. students = JSON.parse(students);//把字符串轉換成JSON對象
  4. //以上即可得到存儲的students的JSON對象了
[javascript] view plain copy 技術分享技術分享
  1. utils = {
  2. setParam : function (name,value){
  3. localStorage.setItem(name,value)
  4. },
  5. getParam : function(name){
  6. return localStorage.getItem(name)
  7. }
  8. }
  9. product={
  10. id:0,
  11. name:"",
  12. num:0,
  13. price:0.00
  14. };
  15. orderdetail={
  16. username:"",
  17. phone:"",
  18. address:"",
  19. zipcode:"",
  20. totalNumber:0,
  21. totalAmount:0.00
  22. }
  23. cart = {
  24. //向購物車中添加商品
  25. addproduct: function (product) {
  26. var ShoppingCart = utils.getParam("ShoppingCart");
  27. if (ShoppingCart == null || ShoppingCart == "") {
  28. //第一次加入商品
  29. var jsonstr = { "productlist": [{ "id": product.id, "name": product.name, "num": product.num, "price": product.price}], "totalNumber": product.num, "totalAmount": (product.price * product.num) };
  30. utils.setParam("ShoppingCart", "‘" + JSON.stringify(jsonstr));
  31. } else {
  32. var jsonstr = JSON.parse(ShoppingCart.substr(1, ShoppingCart.length));
  33. var productlist = jsonstr.productlist;
  34. var result = false;
  35. //查找購物車中是否有該商品
  36. for (var i in productlist) {
  37. if (productlist[i].id == product.id) {
  38. productlist[i].num = parseInt(productlist[i].num) + parseInt(product.num);
  39. result = true;
  40. }
  41. }
  42. if (!result) {
  43. //沒有該商品就直接加進去
  44. productlist.push({ "id": product.id, "name": product.name, "num": product.num, "price": product.price });
  45. }
  46. //重新計算總價
  47. jsonstr.totalNumber = parseInt(jsonstr.totalNumber) + parseInt(product.num);
  48. jsonstr.totalAmount = parseFloat(jsonstr.totalAmount) + (parseInt(product.num) * parseFloat(product.price));
  49. orderdetail.totalNumber = jsonstr.totalNumber;
  50. orderdetail.totalAmount = jsonstr.totalAmount;
  51. //保存購物車
  52. utils.setParam("ShoppingCart", "‘" + JSON.stringify(jsonstr));
  53. }
  54. },
  55. //修改給買商品數量
  56. updateproductnum: function (id, num) {
  57. var ShoppingCart = utils.getParam("ShoppingCart");
  58. var jsonstr = JSON.parse(ShoppingCart.substr(1, ShoppingCart.length));
  59. var productlist = jsonstr.productlist;
  60. for (var i in productlist) {
  61. if (productlist[i].id == id) {
  62. jsonstr.totalNumber = parseInt(jsonstr.totalNumber) + (parseInt(num) - parseInt(productlist[i].num));
  63. jsonstr.totalAmount = parseFloat(jsonstr.totalAmount) + ((parseInt(num) * parseFloat(productlist[i].price)) - parseInt(productlist[i].num) * parseFloat(productlist[i].price));
  64. productlist[i].num = parseInt(num);
  65. orderdetail.totalNumber = jsonstr.totalNumber;
  66. orderdetail.totalAmount = jsonstr.totalAmount;
  67. utils.setParam("ShoppingCart", "‘" + JSON.stringify(jsonstr));
  68. return;
  69. }
  70. }
  71. },
  72. //獲取購物車中的所有商品
  73. getproductlist: function () {
  74. var ShoppingCart = utils.getParam("ShoppingCart");
  75. var jsonstr = JSON.parse(ShoppingCart.substr(1, ShoppingCart.length));
  76. var productlist = jsonstr.productlist;
  77. orderdetail.totalNumber = jsonstr.totalNumber;
  78. orderdetail.totalAmount = jsonstr.totalAmount;
  79. return productlist;
  80. },
  81. //判斷購物車中是否存在商品
  82. existproduct: function (id) {
  83. var result = false;
  84. var ShoppingCart = utils.getParam("ShoppingCart");
  85. if (ShoppingCart != null) {
  86. var jsonstr = JSON.parse(ShoppingCart.substr(1, ShoppingCart.length));
  87. var productlist = jsonstr.productlist;
  88. for (var i in productlist) {
  89. if (productlist[i].id == id) {
  90. result = true;
  91. }
  92. }
  93. }
  94. return result;
  95. },
  96. //刪除購物車中商品
  97. deleteproduct: function (id) {
  98. var ShoppingCart = utils.getParam("ShoppingCart");
  99. var jsonstr = JSON.parse(ShoppingCart.substr(1, ShoppingCart.length));
  100. var productlist = jsonstr.productlist;
  101. var list = [];
  102. for (var i in productlist) {
  103. if (productlist[i].id == id) {
  104. jsonstr.totalNumber = parseInt(jsonstr.totalNumber) - parseInt(productlist[i].num);
  105. jsonstr.totalAmount = parseFloat(jsonstr.totalAmount) - parseInt(productlist[i].num) * parseFloat(productlist[i].price);
  106. } else {
  107. list.push(productlist[i]);
  108. }
  109. }
  110. jsonstr.productlist = list;
  111. orderdetail.totalNumber = jsonstr.totalNumber;
  112. orderdetail.totalAmount = jsonstr.totalAmount;
  113. utils.setParam("ShoppingCart", "‘" + JSON.stringify(jsonstr));
  114. }
  115. };
[javascript] view plain copy 技術分享技術分享
  1. //上面的基於html5 localStorage的購物車JS腳本使用方法
  2. var product =
  3. {
  4. ‘id‘: id, //屬性名用引號括起來,屬性間由逗號隔開
  5. ‘name‘: ‘hhh‘,
  6. ‘num‘:jq(‘#text-4‘).val(),
  7. ‘price‘:199.9
  8. };
  9. //商品加入到購物車
  10. cart.addproduct(product);
  11. var productlist=cart.getproductlist();//取出購物車商品
  12. alert(‘‘, ‘商品:‘+productlist[0].id+‘ ‘+productlist[0].name+‘ ‘+productlist[0].num+‘ ‘+productlist[0].price, ‘確定‘);

localStorage存值取值以及存取JSON,以及基於html5 localStorage的購物車