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 相关文章推荐
基于jquery的滑动样例代码
Nov 20 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
Aug 23 Javascript
html向js方法传递参数具体实现
Aug 08 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
Dec 16 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
Aug 17 Javascript
JS解决iframe之间通信和自适应高度的问题
Aug 24 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
微信小程序获取用户openId的实现方法
May 23 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
Sep 07 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 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文件上传类实例详解
2016/04/08 PHP
Using the TextRange Object
2006/10/14 Javascript
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python3音乐播放器简单实现代码
2020/04/20 Python
Python中动态创建类实例的方法
2017/03/24 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
Python-接口开发入门解析
2019/08/01 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
python else语句在循环中的运用详解
2020/07/06 Python
python反扒机制的5种解决方法
2021/02/06 Python
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
汽车专业毕业生推荐信
2013/11/12 职场文书
给医院的感谢信
2015/01/21 职场文书
护士先进个人总结
2015/02/13 职场文书
单位工作证明范本
2015/06/15 职场文书
员工升职自我评价
2019/03/26 职场文书
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL