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与框架页的操作代码
Jan 17 Javascript
js获取图片大小的函数代码
Sep 20 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
JavaScript的递归之递归与循环示例介绍
Aug 05 Javascript
鼠标经过显示二级菜单js特效
Aug 13 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
May 05 Javascript
window.location 对象所包含的属性
Oct 10 Javascript
解决JavaScript数字精度丢失问题的方法
Dec 03 Javascript
微信小程序左右滑动切换页面详解及实例代码
Feb 28 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
vue实现拖拽进度条
Mar 01 Vue.js
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
利用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
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
python类继承用法实例分析
2014/10/10 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
Python中%r和%s的详解及区别
2017/03/16 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
英国绿色商店:Natural Collection
2019/05/03 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
师范生自荐信范文
2013/10/06 职场文书
医学生自我评价
2014/01/27 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
超市促销活动总结
2014/07/01 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python