jQuery.cookie.js实现记录最近浏览过的商品功能示例


Posted in Javascript onJanuary 23, 2017

本文实例讲述了jQuery.cookie.js实现记录最近浏览过的商品功能。分享给大家供大家参考,具体如下:

1、jquery.cookie.js

/*jquery.cookie.js */
jquery.cookie = function(name, value, options) {
  if (typeof value != 'undefined') { // name and value given, set cookie
    options = options || {};
    if (value === null) {
      value = '';
      options.expires = -1;
    }
    var expires = '';
    if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
      var date;
      if (typeof options.expires == 'number') {
        date = new Date();
        date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
      } else {
        date = options.expires;
      }
      expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
    }
    var path = options.path ? '; path=' + options.path : '';
    var domain = options.domain ? '; domain=' + options.domain : '';
    var secure = options.secure ? '; secure' : '';
    document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
  } else { // only name given, get cookie
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
      var cookies = document.cookie.split(';');
      for (var i = 0; i < cookies.length; i++) {
        var cookie = jQuery.trim(cookies[i]);
        // Does this cookie string begin with the name we want?
        if (cookie.substring(0, name.length + 1) == (name + '=')) {
          cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
          break;
        }
      }
    }
    return cookieValue;
  }
};

2、实现最近浏览过的商品

var cookieName = "PrdIDCookie";  //cookie名称
var nid;             //最新访问的商品ID
var N = 5;            //设置cookie保存的浏览记录的条数
//记录最近浏览过的商品
function HistoryRecord() {
  var historyp;
  nid = $("#PrdID").val();
  if (nid == null || nid == "") {
    return;
  }
  //判断是否存在cookie
  if ($.cookie(cookieName) == null) //cookie 不存在
  {
    //创建新的cookie,保存浏览记录
    $.cookie(cookieName, nid, { expires: 7, path: '/' });
  }
  else //cookies已经存在
  {
    //获取浏览过的商品编号ID
    historyp = $.cookie(cookieName);
  };
  //分解字符串为数组
  var pArray = historyp.split(',');
  //最新访问的商品编号放置载最前面
  historyp = nid;
  //判断是该商品编号是否存在于最近访问的记录里面
  var count = 0;
  for (var i = 0; i < pArray.length; i++) {
    if (pArray[i] != nid) {
      historyp = historyp + "," + pArray[i];
      count++;
      if (count == N - 1) {
        break;
      }
    }
  }
  //修改cookie的值
  $.cookie(cookieName, historyp);
}
//获取最近浏览过的商品
function BindHistory() {
  var historyp = "";
  if ($.cookie(cookieName) != null) //cookie 不存在
  {
    //获取浏览过的商品ID
    historyp = $.cookie(cookieName);
  }
  if (historyp == null && historyp == "") {
    return;
  }
  else
  {
    var prdIDs = [];  //将商品ID以列表或数据的方式保存
    var pArray = historyp.split(',');
    for (var i = 0; i < pArray.length; i++) {
      if (pArray[i] != "") {
        //alert(pArray[i]);
        prdIDs.push(pArray[i]);
      }
    }
    //--->请求商品详细详细...
  }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript 得到变量类型的函数
May 19 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
Aug 18 Javascript
Node.js的特点和应用场景介绍
Nov 04 Javascript
简介JavaScript中Math.LOG10E属性的使用
Jun 14 Javascript
网页从弹窗页面单选框传值至父页面代码分享
Sep 29 Javascript
jQuery遍历节点树方法分析
Sep 08 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
Jan 13 Javascript
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
Vue项目分环境打包的实现步骤
Apr 02 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
使用node-media-server搭建一个简易的流媒体服务器
Jan 20 Javascript
利用JS实现简单的日期选择插件
Jan 23 #Javascript
获取IE浏览器Cookie信息的方法
Jan 23 #Javascript
jQuery实现的简单悬浮层功能完整实例
Jan 23 #Javascript
原生和jQuery的ajax用法详解
Jan 23 #Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 #Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
Jan 23 #Javascript
Javascript Event(事件)的传播与冒泡
Jan 23 #Javascript
You might like
php在线生成ico文件的代码
2007/10/09 PHP
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
Web技术实现移动监测的介绍
2017/09/18 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Python 画出来六维图
2019/07/26 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
教师业务学习材料
2014/12/16 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
MySQL开启事务的方式
2021/06/26 MySQL