jQuery.cookie.js实现记录最近浏览过的商品功能示例
本文实例讲述了jQuery.cookie.js实现记录最近浏览过的商品功能。分享给大家供大家参考,具体如下:
1、jquery.cookie.js
/*jquery.cookie.js*/
jquery.cookie=function(name,value,options){
if(typeofvalue!='undefined'){//nameandvaluegiven,setcookie
options=options||{};
if(value===null){
value='';
options.expires=-1;
}
varexpires='';
if(options.expires&&(typeofoptions.expires=='number'||options.expires.toUTCString)){
vardate;
if(typeofoptions.expires=='number'){
date=newDate();
date.setTime(date.getTime()+(options.expires*24*60*60*1000));
}else{
date=options.expires;
}
expires=';expires='+date.toUTCString();//useexpiresattribute,max-ageisnotsupportedbyIE
}
varpath=options.path?';path='+options.path:'';
vardomain=options.domain?';domain='+options.domain:'';
varsecure=options.secure?';secure':'';
document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');
}else{//onlynamegiven,getcookie
varcookieValue=null;
if(document.cookie&&document.cookie!=''){
varcookies=document.cookie.split(';');
for(vari=0;i<cookies.length;i++){
varcookie=jQuery.trim(cookies[i]);
//Doesthiscookiestringbeginwiththenamewewant?
if(cookie.substring(0,name.length+1)==(name+'=')){
cookieValue=decodeURIComponent(cookie.substring(name.length+1));
break;
}
}
}
returncookieValue;
}
};
2、实现最近浏览过的商品
varcookieName="PrdIDCookie";//cookie名称
varnid;//最新访问的商品ID
varN=5;//设置cookie保存的浏览记录的条数
//记录最近浏览过的商品
functionHistoryRecord(){
varhistoryp;
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);
};
//分解字符串为数组
varpArray=historyp.split(',');
//最新访问的商品编号放置载最前面
historyp=nid;
//判断是该商品编号是否存在于最近访问的记录里面
varcount=0;
for(vari=0;i<pArray.length;i++){
if(pArray[i]!=nid){
historyp=historyp+","+pArray[i];
count++;
if(count==N-1){
break;
}
}
}
//修改cookie的值
$.cookie(cookieName,historyp);
}
//获取最近浏览过的商品
functionBindHistory(){
varhistoryp="";
if($.cookie(cookieName)!=null)//cookie不存在
{
//获取浏览过的商品ID
historyp=$.cookie(cookieName);
}
if(historyp==null&&historyp==""){
return;
}
else
{
varprdIDs=[];//将商品ID以列表或数据的方式保存
varpArray=historyp.split(',');
for(vari=0;i<pArray.length;i++){
if(pArray[i]!=""){
//alert(pArray[i]);
prdIDs.push(pArray[i]);
}
}
//--->请求商品详细详细...
}
}
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery的cookie操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。