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闭包 推荐
Mar 01 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
Mar 14 Javascript
jQuery实现商品活动倒计时
Oct 16 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
May 21 Javascript
angular.js分页代码的实例
Jul 27 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
Dec 26 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
Aug 16 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
使用webpack搭建react开发环境的方法
May 15 Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 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中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP session 会话处理函数
2016/06/06 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python的id()函数解密过程
2012/12/25 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
求职简历推荐信范文
2013/12/02 职场文书
公司面试感谢信
2014/02/01 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
2014年行政工作总结
2014/11/19 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
房产公证书格式
2015/01/26 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL