项目中用到的,利用cookie记住倒计时状态,防止刷新时状态重置
if (typeof(cookieFn)=="undefined"||!cookieFn) var cookieFn={}; cookieFn={ set:function(name,value,days,path,domain,secure){ document.cookie=encodeURIComponent(name)+"="+encodeURIComponent(value) +(days?"; expires="+this.setDays(days):"") +(path?"; path="+path:"") +(domain?"; domain="+domain:"") +(secure?"; secure":""); }, get:function(name){ var cookie=document.cookie.split("; "); for(var i=0;i<cookie.length;i++){ var arr2=cookie[i].split("="); if(decodeURIComponent(arr2[0])===name){ return decodeURIComponent(arr2[1]); } } return ""; }, del:function(name){ this.set(name,"",-1); }, setDays:function(days){ var date=new Date(); date.setDate(date.getDate()+days); return date.toGMTString(); } } if (cookieFn.get('deftime')=='') cookieFn.set('deftime',60,1000000); var deftime = cookieFn.get('deftime'); function time(obj){ if(deftime == 0){ obj.bind('click.myfn',function(){ //ajax如果成功执行time(obj)否则出错误提示 time(obj); }).addClass('active').text('重新发送'); deftime = 60; } else { obj.unbind('.myfn').removeClass('active').text(deftime+'秒后重发'); deftime--; cookieFn.set('deftime',deftime,1000000); setTimeout(function(){time(obj)},1000) } } time($('.phone-time'))