ylbtech-JavaScript-util: shoppingCart.js

购物车脚本

1.A,JS-效果图返回顶部
 
1.B,JS-Source Code(源代码)返回顶部
1.B.1,m.yintai
/*
*/
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的更多相关文章

  1. javascript项目实战之原生js模拟淘宝购物车

    通过JavaScript实现类似与淘宝的购物车效果,包括商品的单选.全选.删除.修改数量.价格计算.数目计算.预览等功能的实现.实现的效果图: 相应的代码: shoppingCart.html < ...

  2. [转]一步一步asp.net_购物车订单与支付宝

    本文转自:http://www.cnblogs.com/mysweet/archive/2012/05/19/2508534.html 最近这几天很忙,一边忙着准备一堆课程设计(8门专业课.....伤 ...

  3. 【京东账户】——Mysql/PHP/Ajax爬坑之用户登录

    一.引言 实现京东的账户项目,功能模块之一,用户登录.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.依据功能创建库.表.记录 创建库:jd 创建表:登录表 添加三条记录 CREATE ...

  4. 安卓sdk webview获取淘宝个人信息100项,源码。

    1.贴出主要代码.这个不是python,python只涉及了服务端对信息提取结果的接受.主体是java  + android + js.由于淘宝各模块都是二级子域名,不能只在一个页面完成所有请求,aj ...

  5. Orchard模块开发全接触7:订单与支付之Event Bus

    在这部分,我们要完成的工作有: 1:将购物车内的商品变成真正的订单: 2:理解 父子及一对多关系: 3:写一个针对 Event Bus 的扩展点: 4:实现一个针对该扩展点的模拟的 支付服务: 一:创 ...

  6. Orchard模块开发全接触5:深度改造前台第二部分

    在这一部分,我们继续完善我们的购物车,我们要做以下一些事情: 1:完成 shoppingcart.cshtml: 2:让用户可以更新数量及从购物车删除商品: 3:创建一个 widget,在上面可以看到 ...

  7. AngularJS 的常用特性(三)

    6.表达式  在模板中使用表达式是为了以充分的灵活性在模板.业务逻辑和数据之间建立联系,同时又能避免让业务逻辑渗透到模板中. <div ng-controller="SomeContr ...

  8. Demo—cookie电商购物车

    说明:cookie的操作须有域名,简单点说就是需要用发布的方式去访问,查看cookie信息请用开发者模式进入application栏 1.页面布局(结构)(根目录) 商品列表 <!doctype ...

  9. mpvue开发美团外卖点餐小程序

    mpvue-meituan mpvue-meituan 是一款使用mpvue开发的实战小程序项目,完全仿制美团官方外卖点餐小程序开发而成,项目的框架结构完全按照企业开发架构搭建而成.结合了原生小程序的 ...

随机推荐

  1. npm理解

    NPM就是一个下载器,通过它可以下载到几乎所有你需要的代码资源.它的成功,包括如下几个方面: 海量资源:NPM背后有数以万计的开源免费模块. 高效利用:作为开发者,只需要敲几个简单的命令就可以将这些开 ...

  2. [bzoj3813] 奇数国 [线段树+欧拉函数]

    题面 传送门 思路 这题目是真的难读......阅读理解题啊...... 但是理解了以后就发现,题目等价于: 给你一个区间,支持单点修改,以及查询一段区间的乘积的欧拉函数值,这个答案对19961993 ...

  3. 雅礼集训 Day3 T2 u 解题报告

    u 题目背景 \(\frac 14\) 遇到了一道水题,完全不会做,于是去请教小\(\text{D}\).小\(\text{D}\)看了一眼就切掉了这题,嘲讽了\(\frac 14\)一番就离开了. ...

  4. jenkins 自定义主题

    一.概述 jenkins更新后,页面css布局都已改变,我现在用的jenkins.css, ( png图片需自定义) #page-body { background-image:url(http:// ...

  5. PHP高性能开发-多进程开发

    硬件多核时代的软件业以前计算能力的提升一直在摩尔定律的指引下,沿着提升CPU时钟频率这条道路前进,从初期的几十MHz到如今的几GHz.但是,进入2002年以 来,CPU提升主频的困难越来越大,因为主频 ...

  6. roadhogrc.mock.js配置

    1.roadhogrc.mock.js const fs=require('fs'); const path=require('path'); const mockPath=path.join(__d ...

  7. php 计算函数执行时间的方法及获得微妙的方法

    // 获得微妙方法 function getMillisecond() { list($s1, $s2) = explode(' ', microtime()); return (float)spri ...

  8. Jquery Dom节点常用操作

    select 标签 form提交的时候 提交select标签选中的value值 1. 添加项 $("#select_id").append("<option val ...

  9. Centos 6.3Yum安装NodeJS

    1. 添加epel源: (1)查看机器位数 file /sbin/init 或者 file /bin/ls (2)X64: rpm -ivh http://download.fedoraproject ...

  10. visio画任意形状图形

    1,连接线--右击---曲线连接线 2,选中组合 3,开发工具--操作--连接--填充