基于jQuery的活动公告

302 阅读1分钟

之前有个jQuery项目需要在页面上实现紧急公告的功能,需求如下:

1、公告内容由后台操作人员编辑,前台展示

2、根据后台传入的时间来判断公告是否会弹出、用户在该时间段第一次打开页面时,公告弹出。关闭后在该时间段再次进入页面时公告不予显示,超过过期日期公告不显示

//紧急公告
   PageObj.EmergencyNotice=function () {
       cashFind.getEmergencyNotice(function (res) {
           if(res.length!=0){
               for(var i=0;i<res.length;i++){
                   var li = res[0];
                   var htmlbox='<img src="'+li.image_url+'">';//
                   if(li.image_url){
                       $('.guide-box-detile-img').html(htmlbox);
                   }else{
                       $('.guide-box-detile-img').hide();
                   }
                   $('.guide-box-detile-content').html(li.content);
                   guideboxnew.show('.guide-box-new');

                   var storage=window.localStorage;
                   //过期时间存在
                   if(li.end_time&&li.end_time!=0){
                       var endTimee = li.end_time;
                       var endTime=endTimee.replace(/\-/g, "/").substring(0,19);
                       console.log('endTime',endTime);
                       var newtime = (new Date()).Format("yyyy/MM/dd hh:mm:ss");
                       var current = newtime.getTime();//得到当前时间的毫秒数
                       var end = endTime.getTime(); //得到结束时间的毫秒数
                       var time = end-current;
                       //根据两次弹框的过期时间是否相同来判断是否清理缓存
                       if(time>=0){
                           if(!storage.getItem("endingTime")||storage.getItem("endingTime")!=endTime){
                               localStorage.clear();
                               storage.setItem("endingTime",endTime);
                               storage.setItem("pageLoadCount",'0');
                           }
                           storage.pageLoadCount = parseInt(storage.getItem("pageLoadCount")) + 1;
                           //判断在此时段内第一次进入该页面
                           if(storage.getItem("pageLoadCount")==1){
                               guideboxnew.show('.guide-box-new');
                           }else{guideboxnew.hide('.guide-box-new');}
                       }else{guideboxnew.hide('.guide-box-new');}
                   }
                   //过期时间不存在
                   else{
                       if(!storage.getItem("upTime")||storage.getItem("upTime")!=li.uptime){
                           localStorage.clear();
                           storage.setItem("upTime",li.uptime);
                           storage.setItem("pageLoadCount",'0');
                       }
                       storage.pageLoadCount = parseInt(storage.getItem("pageLoadCount")) + 1;
                       if(storage.getItem("pageLoadCount")==1){
                           guideboxnew.show('.guide-box-new');
                       }else{guideboxnew.hide('.guide-box-new');}
                   }
               }
           }
       })
   };


   $('.guide-box-close').unbind("click").bind("click",function () {
       guidebox.hide('.guide-box');
   });
   $('.guide-box-close-new').unbind("click").bind("click",function () {
       guideboxnew.hide('.guide-box-new');
   });