商城开发项目,现在需要做出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. QT4和QT3的区别

    著名的QT库前一阵子升级到4.xx版本了,我目前在开发的一个基于QT3的软件,由于受到QThread的各种困扰,因此打算尝试将代码升级到QT4, 但是当我实际开始升级工作后,才发现QT3和QT4的变化 ...

  2. [置顶] Guava学习之Immutable集合

    Immutable中文意思就是不可变.那为什么需要构建一个不可变的对象?原因有以下几点: 在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比).尤其当一个 ...

  3. hdu1081(最大子矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081 分析:a[i][j]代表第i行,前j个数据的和:那么由a[i][j]可得sum[k][long] ...

  4. JS兼容的方式来获取浏览器的宽度

    <script type="text/javascript"> //need to wait until onload so body is available win ...

  5. 大规模集群管理工具Borg

    Google的大规模集群管理工具Borg 概述 Google的Borg系统是一个集群管理工具,在它上面运行着成千上万的job,这些job来自许许多多不同的应用,并且跨越多个集群,而每个集群又由大量的机 ...

  6. 使用zTree和json构建简单树节点

    我们经常碰到须要构建树结构展示的情况,我推荐使用zTree和JSON. 比如: <? php /** * * 使用zTree和json构建树节点 * */ $arr = array( 0=> ...

  7. 改动EditPlus默认模板

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FvaGFpY2hlbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  8. windows phone xaml文件中元素及属性(10)

    原文:windows phone xaml文件中元素及属性(10) Textblock xaml文件和隐藏文件 在设计界面的时候我们可以通过xaml中进行设计,这种设计是所见即所得的,很是方便,由于x ...

  9. Amazon AWS创建RHEL 7实例

    在AWS上登录 如果没有账号的话先注册,参考 http://blog.banban.me/blog/2014/06/09/li-yong-awsmian-fei-zhang-hu-da-jian-vp ...

  10. slider使用TickPlacement获得游标效果

    <Slider Name="slider游标效果" Maximum="3" SmallChange="0.25" TickPlacem ...