shoppingCart.js
ylbtech-JavaScript-util: shoppingCart.js |
购物车脚本
1.A,JS-效果图返回顶部 |
1.B,JS-Source Code(源代码)返回顶部 |
/*
*/
function Product() {
var itemcode; //商品编码
var count; //数量
var type; //类型
var paramid; //参数
}
/*
添加商品
*/
function addShoppingCartProduct(itemCode, count, type, paramid) {
if (itemCode == "" || itemCode == null) {
alert("商品编号不能为空!");
return false;
}
var productList = getShoppingCartProductList();
var found = false;
var i = 0;
while (i < productList.length) {
var productInfo = productList[i];
if (productInfo.itemcode == itemCode) {
productInfo.count = productInfo.count + count;
productInfo.type = type;
productInfo.paramid = paramid;
found = true;
break;
}
i++;
}
if (!found) {
product = new Object();
product.itemcode = itemCode;
product.count = count;
product.type = type;
product.paramid = paramid;
productList.push(product);
}
localStorage.shoppingCartProductList = JSON.stringify(productList);
return true;
}
/*
取得商品
*/
function getShoppingCartProduct(itemCode) {
var productList = getShoppingCartProductList();
var i = 0;
while (i < productList.length) {
var productInfo = productList[i];
if (productInfo.itemcode == itemCode) {
return productInfo;
}
i++;
}
return null;
}
/*
取得商品列表
*/
function getShoppingCartProductList() {
if (localStorage.shoppingCartProductList == undefined || localStorage.shoppingCartProductList == "undefined" || localStorage.shoppingCartProductList == "") {
var newProductList = new Array();
localStorage.shoppingCartProductList = JSON.stringify(newProductList);
}
var productList = JSON.parse(localStorage.shoppingCartProductList);
return productList;
}
/*
清空购物车
*/
function clearShoppingCart() {
var productList = new Array();
localStorage.shoppingCartProductList = JSON.stringify(productList);
}
/*
删除商品
*/
function removeShoppingCartProduct(itemCode) {
var productList = getShoppingCartProductList();
var i = 0;
while (i < productList.length) {
var productInfo = productList[i];
if (productInfo.itemcode == itemCode) {
productList.splice(i, 1);
break;
}
i++;
}
localStorage.shoppingCartProductList = JSON.stringify(productList);
}
/*
修改商品数量
*/
function updateShoppingCartProduct(itemCode, count) {
var productList = getShoppingCartProductList();
var i = 0;
while (i < productList.length) {
var productInfo = productList[i];
if (productInfo.itemcode == itemCode) {
productInfo.count = count;
break;
}
i++;
}
localStorage.shoppingCartProductList = JSON.stringify(productList);
}
1.B.2,
1.C,JS-Relevent References(相关引用)返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
shoppingCart.js的更多相关文章
- javascript项目实战之原生js模拟淘宝购物车
通过JavaScript实现类似与淘宝的购物车效果,包括商品的单选.全选.删除.修改数量.价格计算.数目计算.预览等功能的实现.实现的效果图: 相应的代码: shoppingCart.html < ...
- [转]一步一步asp.net_购物车订单与支付宝
本文转自:http://www.cnblogs.com/mysweet/archive/2012/05/19/2508534.html 最近这几天很忙,一边忙着准备一堆课程设计(8门专业课.....伤 ...
- 【京东账户】——Mysql/PHP/Ajax爬坑之用户登录
一.引言 实现京东的账户项目,功能模块之一,用户登录.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.依据功能创建库.表.记录 创建库:jd 创建表:登录表 添加三条记录 CREATE ...
- 安卓sdk webview获取淘宝个人信息100项,源码。
1.贴出主要代码.这个不是python,python只涉及了服务端对信息提取结果的接受.主体是java + android + js.由于淘宝各模块都是二级子域名,不能只在一个页面完成所有请求,aj ...
- Orchard模块开发全接触7:订单与支付之Event Bus
在这部分,我们要完成的工作有: 1:将购物车内的商品变成真正的订单: 2:理解 父子及一对多关系: 3:写一个针对 Event Bus 的扩展点: 4:实现一个针对该扩展点的模拟的 支付服务: 一:创 ...
- Orchard模块开发全接触5:深度改造前台第二部分
在这一部分,我们继续完善我们的购物车,我们要做以下一些事情: 1:完成 shoppingcart.cshtml: 2:让用户可以更新数量及从购物车删除商品: 3:创建一个 widget,在上面可以看到 ...
- AngularJS 的常用特性(三)
6.表达式 在模板中使用表达式是为了以充分的灵活性在模板.业务逻辑和数据之间建立联系,同时又能避免让业务逻辑渗透到模板中. <div ng-controller="SomeContr ...
- Demo—cookie电商购物车
说明:cookie的操作须有域名,简单点说就是需要用发布的方式去访问,查看cookie信息请用开发者模式进入application栏 1.页面布局(结构)(根目录) 商品列表 <!doctype ...
- mpvue开发美团外卖点餐小程序
mpvue-meituan mpvue-meituan 是一款使用mpvue开发的实战小程序项目,完全仿制美团官方外卖点餐小程序开发而成,项目的框架结构完全按照企业开发架构搭建而成.结合了原生小程序的 ...
随机推荐
- $this和self、parent这三个关键词分别代表什么?在哪些场合下使用?
$this:当前对象 self: 当前类 parent: 当前类的父类 $this在当前类中使用,使用->调用属性和方法. self也在当前类中使用,不过需要使用::调用. 静态属性,不能在类里 ...
- 【bzoj3325】[Scoi2013]密码 逆模拟Manacher
题目描述 给出一个只包含小写字母的字符串的长度.以每一个字符为中心的最长回文串长度.以及以每两个相邻字符的间隙为中心的最长回文串长度,求满足条件的字典序最小的字符串. 输入 输入由三行组成.第一行仅含 ...
- ubuntu服务器环境配置参考
一.基本的Linux系统命令: ls 查看当前目录下的文件及文件夹 cd /var/www/html 转换目录到/var/www/html cd abc/ddd/ 转换目录到当前目录下的abc文件夹下 ...
- DataBase -- Count & Group by
SQL Count()函数: SQL COUNT(column_name)语法:COUNT(column_name)函数返回指定列的值得数目(NULL不计入) select count(column_ ...
- thr [树链剖分+dp]
题面 思路 首先,可以有一个$dp$的思路 不难发现本题中,三个点如果互相距离相同,那么一定有一个"中心点"到三个点的距离都相同 那么我们可以把本题转化计算以每个点为根的情况下,从 ...
- hust 1605 bfs
思路:直接用优先队列优化bfs. #include<map> #include<queue> #include<vector> #include<cmath& ...
- Codeforces Round #462 (Div. 2)
这是我打的第三场cf,个人的表现还是有点不成熟.暴露出了我的一些问题. 先打开A题,大概3min看懂题意+一小会儿的思考后开始码代码.一开始想着贪心地只取两个端点的值就好了,正准备交的时候回想起上次A ...
- Oracle 对字符串去重函数
CREATE OR REPLACE FUNCTION ZZMES."REMOVESAMESTR" (oldStr varchar2, sign varchar2) return v ...
- js限定内容的溢出滚动(offset,style.left)
1. .html: <div class="test" style="position: relative;"> <ul id="c ...
- BZOJ 4261: 建设游乐场
4261: 建设游乐场 Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 38 Solved: 16[Submit][Status][Discuss] ...