Jquery 实现“最近浏览过的商品”的功能

<script type="text/javascript" src="JS/jquery.js"></script>                    //与Prototype 类似的框架
 <script type="text/javascript" src="JS/JCookie.js"></script>                 //插件
///////////////////////////////////////////////////////
           /*JCookie.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;
    }
};
////////////////////////////////////////////////////////

                
 <div id="latestp"></div>
     <script type="text/javascript">
       var historyp;
       //最新访问的商品编号ID
       var nid="新商品编号ID"; 

       //设置cookie保存的浏览记录的条数
       var N=10; 
       var count=0;
       //判断是否存在cookie
       if($.cookie('smile1314h')==null) //cookie 不存在
       {
              //创建新的cookie,保存浏览记录
              $.cookie('smile1314h',nid,{expires:7,path:'/'});
              //$.cookie('smile1314h',nid,{expires:7,path:'/',domain:'smile1314.com',secure:true});
       }
       else //cookies已经存在
       {
            
            //获取浏览过的商品编号ID
             historyp=$.cookie('smile1314h');
              
           var check_result = $('#latestp'); 
           check_result.html('<img src=/CSS/Image/Loading.gif style=/"margin-left:40px;;/">');
          
            //ajax 根据产品编号获取信息列表
           $.ajax({ //一个Ajax过程   
                   type: "get",   
                   url : "/Comm/getLatestProduct.ashx",   
                   dataType:'html',  
                   data: "P_Id="+historyp,     
                   success: function(json){
                           check_result.html("");
                           check_result.html(json);
                   }});
             
             //分解字符串为数组
              var pArray=historyp.split(',');
             //最新访问的商品编号放置载最前面
              historyp=nid;
             //判断是该商品编号是否存在于最近访问的记录里面
               for(var i=0;i<pArray.length;i++)
              {
                 if(pArray[i]!=nid)
                 {
                    historyp=historyp+","+pArray[i];
                    count++;
                    if(count==N-1)
                    {
                       break;
                    }
                 }
              }
              //修改cookie的值
                 $.cookie('smile1314h',historyp);     
       }
 </script>

http://d.download.csdn.net/down/1793242/foxgame010914 例子参考(c#)

posted on 2010-05-14 13:50  jianshaohui  阅读(1638)  评论(0编辑  收藏  举报

导航