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程序设计有所帮助。
jQuery.cookie.js实现记录最近浏览过的商品功能示例
- Author -
pan_junbiao声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@