商城开发项目,现在需要做出APP,无奈出场前android但不是很精通。最后选择phonegap实现app。

由于之前办理购物车分为登陆和登陆后两种情况,登录前必须充分利用本地存储。而基于phonegap本地存储的发展是使用Html5的localstorage功能实现。

特分享与此~

//内置数组对象成员方法补充,移除元素
Array.prototype.remove=function(dx)
{
if(isNaN(dx)||dx>this.length){
return false;
}
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}
//购物车类定义
cart = function(){
this.lstore = window.localStorage;
this.init();
};
cart.prototype={
init:function(){
var cart_goods_material=this.lstore.getItem('cart');
try{
this.cart_goods=JSON.parse(cart_goods_material);
if(this.cart_goods==null)
this.cart_goods=[];
}
catch(e){
this.cart_goods=[];
}
},
getall:function(){ //获得购物车全部商品列表
return this.cart_goods;
},
insert:function(goods){ //插入商品 var index=this.finds(goods.goods_id);
if(index>-1){
this.cart_goods[index].goods_number+=goods.goods_number;
}else{
this.cart_goods.push(goods); }
var cart_goods_cooked = JSON.stringify(this.cart_goods);
this.lstore.setItem('cart',cart_goods_cooked);
return true;
},
update:function(goods_id,data){
var index=this.finds(goods_id);
if(index>-1){
for(var i in data){
this.cart_goods[index][i]=data[i];
}
}
var cart_goods_cooked = JSON.stringify(this.cart_goods);
this.lstore.setItem('cart',cart_goods_cooked);
return true; },
addnum:function(goods_id,num){ //更新购物车商品数量
var index=this.finds(goods_id);
var num=this.cart_goods[index]['goods_number']+num;
this.update(goods_id,{
'goods_number':num
});
},
del:function(goods_id){
var index=this.finds(goods_id);
this.cart_goods.remove(index);
var cart_goods_cooked = JSON.stringify(this.cart_goods);
this.lstore.setItem('cart',cart_goods_cooked);
return true;
},
finds:function(goods_id){
var index=-1;
for(var i in this.cart_goods ){
var g=this.cart_goods[i];
if(g.goods_id==goods_id){
index = i;
break;
}
}
return index;
},
clear:function(){
this.lstore.setItem('cart','');
this.cart_goods=[];
},
amount:function(){
var amount=0;
for(var i in this.cart_goods ){
amount += this.cart_goods[i]['goods_number']*this.cart_goods[i]['goods_price'];
}
return amount;
}
}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

phonegap+emberjs+python手机店发展,html5实现本地车类别~的更多相关文章

  1. PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

    PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) ...

  2. 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  3. [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  4. HTML5 LocalStorage 本地存储

    HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就 ...

  5. (转载)HTML5 LocalStorage 本地存储

    原文地址:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地 ...

  6. HTML5的本地存储 LocalStorage

    localStorage顾名思义,就是本地存储的意思,在以前很长一段时间,要想在客户端存 储一些配置及登录信息等数据都只能通过COOKIE或flash的方式,如今html5来临,也 带来了更强大的本地 ...

  7. HTML5之本地文件系统API - File System API

    HTML5之本地文件系统API - File System API 新的HTML5标准给我们带来了大量的新特性和惊喜,例如,画图的画布Canvas,多媒体的audio和video等等.除了上面我们提到 ...

  8. 【转】HTML5 LocalStorage 本地存储

    原文见:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步 ...

  9. Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松!

    Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松!       首页 / 关于 ...

随机推荐

  1. 【Qt for Android】OpenGL ES 绘制彩色立方体

    Qt 内置对OpenGL ES的支持.选用Qt进行OpenGL ES的开发是很方便的,很多辅助类都已经具备.从Qt 5.0開始添加了一个QWindow类,该类既能够使用OpenGL绘制3D图形,也能够 ...

  2. hdu1506(dp求最大子矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506 分析: 对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下 ...

  3. CH BR4思考熊(恒等有理式-逆波兰表达式求值)

    恒等有理式 总时限 10s 内存限制 256MB 出题人 fotile96 提交情况 4/43 描述 给定两个有理式f(X)与g(X),判断他们是否恒等(任意A,如果f(A)与g(A)均有定义,那么f ...

  4. ASP.NET 联想控件(Autocomplete)测试可用 ascx

    效果图 前台 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Auto ...

  5. 首次启动优美新手指引tip

    在开发商业应用时候,用户第一次进入app,有种无从下手的感觉,我们作为开发人员要提供可用户一些指引, 这些指引不能让用户看着唐突,要舒服的展示给用户,带着用户愉快的使用我们的app. 怎么让用户舒服呢 ...

  6. 每天一个JavaScript实例-html5拖拽

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. Js中的onblur和onfocus事件

    html页面中,诸如按钮.文本框等可视元素都具有拥有和失去焦点的事件,这些事件在响应鼠标或键盘动作时都可激发预设的操作.本文以文本框获得和失去焦点为例简单讲解onfocus和onblur的应用. 一. ...

  8. atitit查询表改动表字段没反应--解锁锁定的表

    atitit查询表改动表字段没反应--解锁锁定的表 查询表改动表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...

  9. UVa 884 - Factorial Factors

    题目:输出n!中素数因数的个数. 分析:数论.这里使用欧拉筛法计算素数,在计算过程中求解就可以. 传统筛法是利用每一个素数,筛掉自己的整数倍: 欧拉筛法是利用当前计算出的全部素数,乘以当前数字筛数: ...

  10. c++自带倒置数组函数

    #include<stdio.h> #include <vector> #include <queue> #include<algorithm> usi ...