当前位置:首页 >> 网络编程

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

本文实例讲述了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 "htmlcode">
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相关内容感兴趣的读者可查看本站专题:《jQuery的cookie操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

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