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 关于# 和 void的区别分析
Oct 26 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
javascript实用方法总结
Feb 06 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
Sep 05 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
Jun 06 Javascript
Vue异步组件使用详解
Apr 08 Javascript
js禁止浏览器页面后退功能的实例(推荐)
Sep 01 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
Jul 25 Javascript
详解小程序原生使用ES7 async/await语法
Aug 06 Javascript
JavaScript数组reduce()方法的语法与实例解析
Jul 07 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批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
js获得参数的getParameter使用示例
2014/02/26 Javascript
Jquery性能优化详解
2014/05/15 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
Js面试算法详解
2018/04/08 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
春风行动实施方案
2014/03/28 职场文书
库房管理员岗位职责
2015/02/12 职场文书
企业培训简报范文
2015/07/20 职场文书
入党心得体会
2019/06/20 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
python创建字典及相关管理操作
2022/04/13 Python