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 相关文章推荐
js几个不错的函数 $$()
Oct 09 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
Aug 06 Javascript
详解JS面向对象编程
Jan 24 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
May 19 Javascript
第一次接触Bootstrap框架
Oct 24 Javascript
JS常用算法实现代码
Nov 14 Javascript
概述一个页面从输入URL到页面加载完的过程
Dec 16 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
Nov 09 Javascript
微信小程序实现手指触摸画板
Jul 09 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
JS原生瀑布流效果实现
Apr 26 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
Sep 11 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 程式大小
2006/12/06 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
农历与西历对照
2006/09/06 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
Python可迭代对象操作示例
2019/05/07 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
成功的酒店创业计划书
2013/12/27 职场文书
副厂长岗位职责
2014/02/02 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
学校节水倡议书
2015/04/29 职场文书
毕业班工作总结
2015/08/10 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
Pytorch 如何实现常用正则化
2021/05/27 Python
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android