简单js购物车逻辑代码

项目准备用而没有用到的代码,留存备用

/* 购物车相关逻辑 */
function GetMallUserInfo() {
    var mui = $.cookie("MallUserInfo");
    return mui ? JSON.parse(mui) : null;
}
function SetMallUserInfo(mui) {
    $.cookie('MallUserInfo', null, { path: '/Mall' });
    $.cookie("MallUserInfo", JSON.stringify(mui), { expires: MallCookieExpires, path: '/Mall' });
}
function GetSCart() {
    var mui = GetMallUserInfo();
    return mui ? mui.S_Cart : null;
}
function GetSCartNum() {
    var dt = GetSCart();
    if (dt && Object.prototype.toString.call(dt) === '[object Array]' && dt.length > 0) {
        return dt.length;
    } else {
        return 0;
    }
}
function SetSCart(dt) {
    var mui = GetMallUserInfo();
    mui.S_Cart = dt;
    SetMallUserInfo(mui);
}
function addSCart(id, num) {
    if (!id) return;
    num = num || 1;
    var dt = GetSCart();
    if (dt) {
        var isExist = false;
        if (Object.prototype.toString.call(dt) === '[object Array]' && dt.length > 0) {
            for (var i in dt) {
                if (dt[i].id == id) {
                    dt[i].Num = num;
                    isExist = true;
                }
            }
            if (!isExist) {
                clearSCart();
                dt.push({ "id": id, "Num": num });
            }
        } else {
            dt = [{ "id": id, "Num": num }];
        }
    } else {
        dt = [{ "id": id, "Num": num }];
    }
    SetSCart(dt);
    return dt;
}
function delSCart(id) {
    if (!id) return;
    var dt = GetSCart();
    if (dt) {
        if (Object.prototype.toString.call(dt) === '[object Array]' && dt.length > 0) {
            var idx = -1;
            for (var i in dt) {
                idx = dt[i].id == id ? i : -1; 
            }
            if (idx > -1) {
                dt.splice(i, 1);
                SetSCart(dt);
            }
        } 
    } 
}
function clearSCart() {
    SetSCart(null);
}
function DetailSCart() {
    location.href = "/Mall/SCart";
}
/* 用户信息cookie处理 */
//写入cookies 
function setCookie(name, value) {
    var exp = new Date();
    exp.setTime(exp.getTime() + 1800 * 1000);//1800秒,30分钟
    document.cookie = name + "=" + escape(JSON.stringify(value)) + ";expires=" + exp.toGMTString();
}
//读取cookies 
function getCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg))
        return JSON.parse(unescape(arr[2]));
    else
        return null;
}
//删除cookies 
function delCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getCookie(name);
    if (cval != null)
        document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
收藏夹和购物系统的实现  收藏夹子系统 (1) 【收藏指定图书】能收藏一本图书,并记录收藏日期(某年某月某日,如2016-12-12。所有日期都采用人工定义方式输入,不取机器日期)。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版日期、价格。 (2) 【查询指定图书】能按照图书号查询显示收藏夹中图书的相关信息(也可以扩展功能为按照书名、作者、出版社、出版日期、指定价格大小范围查询显示收藏夹中图书的相关信息)。 (3) 【按日期显示所有图书】能按照收藏日期的先后显示输出所收藏的所有图书的相关信息。 (4) 【移出收藏夹】可以把不想收藏的某一本指定图书号的图书直接移出收藏夹。 (5) 【加入购物】将收藏夹中的某一本指定图书号的图书加入到购物。 (6) 【按价格显示所有图书】能按照价格的大小显示输出收藏夹中的所有图书的相关信息。  购物子系统 (1) 【直接加入购物】把准备购买的一本图书直接加入购物,同时记录加入购物的日期。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版日期、价格、购买数量、购买金额(自动计算)。 (2) 【查询指定图书】能按照图书号查询显示购物中准备购买的图书的相关信息(也可以扩展功能为按照书名、作者、出版社、出版日期、指定价格大小范围查询显示购物中图书的相关信息)。 (3) 【修改购买数量】可以修改购物中准备购买的某一本指定图书号的图书的数量,同时自动计算修改购买金额(购买金额=购买数量*价格)。 (4) 【删除指定图书并移到收藏夹】把购物中的某一本指定图书号的图书删除并移到收藏夹。 (5) 【直接删除指定图书】可以把不想购买的某一本指定图书号的图书从购物中删除。 (6) 【按图书号显示所有图书】把购物中所有图书按照图书号列出每一本图书的图书号、书名、作者、出版社、出版日期、价格、购买数量、购买金额,最后列出总共有多少本图书、总金额是多少。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值