栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

js实现购物车功能

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

js实现购物车功能

本文实例为大家分享了js实现购物车功能的具体代码,供大家参考,具体内容如下

购物车实现3种方式

1、利用cookie

优点:不占用服务器资源,可以永远保存,不用考虑失效的问题
缺点: 对购买商品的数量是有限制的,存放数据的大小 不可以超过2k,用户如果禁用cookie那么就木有办法购买商品,卓越网实现了用户当用户禁用cookie,也可以购买。

2、利用 session

优点:用户禁用cookie,也可以购物
缺点:占用服务器资源,要考虑session失效的问题

3、利用数据库

优点:可以记录用户的购买行为,便于数据分析用户的喜好,推荐商品
缺点:给数据库造成太大的压力,如果数据量很大的话。

购物车需求分析

1、可以添加商品到购物车中

2、可以删除购物车中的商品

3、可以清空购物车

4、可以更新购物车的商品

5、可以结算

js代码






//商品类

function item(sku, name, price, quantity){
  this.sku = sku;
  this.name = name;
  this.price = price;
  this.quantity = quantity;
}

var shopCart = function(window){

  "use strict";
  //全局变量
  // note new new Date("2020-12-23") 在ie下面报错,不支持这样的语法
  var items = [],cartName='kuaidian_shop_cart',expires = new Date( new Date().getTime()+86400000*30 )
  ,debug = true,decimal = 2;
  var options = {
    'cartName' : cartName, //cookie的名字
    'expires' : expires, //cookie失效的时间
    'debug' : debug, //是否打印调试信息
    'decimal' : decimal, //钱的精确到小数点后的位数
    'callback' : undefined
  };


  //暴露给外部的接口方法
  return {
    inited : false,
    init: function(option){
      //判断用户是否禁用cookie
      if(!window.navigator.cookieEnabled ){
 alert('您的浏览器不支持cookie无法使用购物车!,请设置允许设置cookie。');
 return false;
      }
      //从cookie中获取购物车中的数据
      this.inited = true;
      if(option){
 extend(options,option);
      }
      var cookie = getcookie(options.cartName);
      if(typeof cookie === 'undefined'){
 setcookie(options.cartName,'',options.expires);
      }else{
 //每个item之间用&分开,item的属性之间用|分割
 var cookie = getcookie(options.cartName);
 if(cookie){
   var cItems = cookie.split('&');
   for(var i=0,l=cItems.length;i -1){
 items.splice(index,1);
 _savecookie();
      }else{
 if(options.debug){
   _log('商品不存在');
   return false;
 }
      }
    },
    updateQuantity: function(item){ //更新商品的数量
      //更新一个商品
      var index = this.getItemIndex(item.sku);
      if(index > -1){
 items[index].quantity = item.quantity;
 _savecookie();
      }else{
 if(options.debug){
   _log('商品不存在');
   return false;
 }
      }
    },
    emptyCart: function(){
      //清空数组
      items.length = 0;
      _savecookie();
    },
    checkout: function(){
      //点击结算后的回调函数
      if(options.callback){
 options.callback();
      }
    },
    getTotalCount: function(sku){
      //获取购物车商品的数量,如果传某个商品的id,那么就返回该商品的数量
      var totalCount = 0;
      if(sku){
 totalCount = (typeof this.findItem(sku) === 'undefined' ? 0 : this.findItem(sku).quantity );
      }else{
 for(var i=0,l=items.length;i0){
      var tItems = [];
      for(;i

HTML页面简单调用




  
  Title




  

  


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/80673.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号