首页 > 编程 > JavaScript > 正文

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

2019-11-19 17:48:17
字体:
来源:转载
供稿:网友

本文实例讲述了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;             //最新访问的商品IDvar 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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表