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 Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
Feb 11 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
使用JQuery 加载页面时调用JS的实现方法
May 30 Javascript
JS简单实现表格排序功能示例
Dec 20 Javascript
jQuery获取选中单选按钮radio的值
Dec 27 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 Javascript
Vue实现简单计算器
Jan 20 Vue.js
关于Javascript闭包与应用的详解
Apr 22 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
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
Python subprocess模块学习总结
2014/03/13 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
Pandas的Apply函数具体使用
2020/07/21 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
合伙协议书
2014/04/23 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server
Python常遇到的错误和异常
2021/11/02 Python