zoukankan      html  css  js  c++  java
  • Cookie 版购物车

    写一个JS文件  把相应的方法写在JS文件内 为了方便以后的调用

    具体代码为

    var Cart = function () {
        this.Count = 0;
        this.Total = 0;
        this.Items = new Array();
    };
    //购物车集合对象
    var CartItem = function () {
        this.Id = 0;
        this.Name = "";
        this.Count = 0;
        this.Price = 0;
    };
    
    //购物车操作
    var CartHelper = function () {
        this.cookieName = "wangjian";
        this.Clear = function () {
            var cart = new Cart();
            this.Save(cart);
            return cart;
        };
    
        //向购物车添加
        this.Add = function (id, name, count, price) {
            var cart = this.Read();
            var index = this.Find(id);
    
            if(count==0){
                this.Del(id);
    
            }else{
                //如果ID已存在,覆盖数量
                if (index > -1) {
                    cart.Total -= (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000);
                    cart.Items[index].Count = count;
                    cart.Total += (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000);
    
                } else {
                    var item = new CartItem();
                    item.Id = id;
                    item.Name = name;
                    item.Count = count;
                    item.Price = price;
                    cart.Items.push(item);
                    cart.Count++;
                    cart.Total += (((item.Count * 100) * (item.Price * 100)) / 10000);
                    // console.log(cart);
                    // cart.Total += (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000);
                }
                cart.Total=Math.round(cart.Total * 100) / 100;
                this.Save(cart);
            }
    
            return cart;
        };
        //改变数量
        this.Change = function (id, count) {
            var cart = this.Read();
            var index = this.Find(id);
            cart.Items[index].Count = count;
            this.Save(cart);
            return cart;
        };
        //移出购物车
        this.Del = function (id) {
            var cart = this.Read();
            var index = this.Find(id);
            if (index > -1) {
                var item = cart.Items[index];
                cart.Count--;
                cart.Total = cart.Total - (((item.Count * 100) * (item.Price * 100)) / 10000);
                cart.Items.splice(index, 1);
                this.Save(cart);
            }
    
            return cart;
    
        };
        //根据ID查找
        this.Find = function (id) {
            var cart = this.Read();
            var index = -1;
            for (var i = 0; i < cart.Items.length; i++) {
                if (cart.Items[i].Id == id) {
                    index = i;
                }
            }
            return index;
        };
        //COOKIE操作
        this.Save = function (cart) {
            var source = "";
            for (var i = 0; i < cart.Items.length; i++) {
                if (source != "") { source += "|$|"; }
                source += this.ItemToString(cart.Items[i]);
            }
            $.cookie(this.cookieName, source);
        };
        this.Read = function () {
            //读取COOKIE中的集合
            var source = $.cookie(this.cookieName);
            var cart = new Cart();
            if (source == null || source == "") {
                return cart;
            }
            var arr = source.split("|$|");
            cart.Count = arr.length;
            for (var i = 0; i < arr.length; i++) {
                var item = this.ItemToObject(arr[i]);
                cart.Items.push(item);
                cart.Total += (((item.Count * 100) * (item.Price * 100)) / 10000);
            }
            return cart;
        };
        this.ItemToString = function (item) {
            return item.Id + "||" + escape(item.Name) + "||" + item.Count + "||" + item.Price;
        };
        this.ItemToObject = function (str) {
            var arr = str.split('||');
            var item = new CartItem();
            item.Id = arr[0];
            item.Name = unescape(arr[1]);
            item.Count = arr[2];
            item.Price = arr[3];
            return item;
        };
    };
    

     导入JS文件

    Script内方法:

    			//定义点击事件
    			function get(){
    			//购物车
    			//调用  实例化对象
    			var xc=new CartHelper();
    
    			//传递参数id,名称,数量,价格    数量为0的话直接删除
    			var id = name;
    			var c_name = $(".comm_title").html();
    			var num = $("#number").val();
    			var price = $(".comm_price").html();
    			//对象传参
    			xc.Add(id,c_name,num,price);
    			
    			
    			var order_list= $.cookie('wangjian')
    
    			//read方法获cookie内存储的值
    			console.log(xc.Read())
    			}
    

      

  • 相关阅读:
    Python六大开源框架对比:Web2py略胜一筹
    软件设计之UML—UML的构成[上]
    Web程序员最常用的11款PHP框架
    PHP常见框架
    WinCE的开发流程
    Windows10如何卸载OneDrive
    Windows系统中环境变量不展开的问题
    线程局部存储空间
    ping pathping tcping psping tracert
    ubuntu ufw 配置
  • 原文地址:https://www.cnblogs.com/wjohh/p/10713262.html
Copyright © 2011-2022 走看看