javascript - 请问js如何设置cookie有效期为当天24点并弹窗(“欢迎登陆”)?
迷茫
迷茫 2017-04-11 11:57:28
[JavaScript讨论组]

请问js设置cookie有效期为当天24点并弹窗?
初学者:求简单明了!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
怪我咯

简单写了写,可根据指定参数Deadline格式的时间进行测试,如存在些不严谨的地方还请指出。

// 设置cookie在当天指定时间点过期并提示
function setCookie(name,value,Deadline,callback){

// 获取当前日期对象
var curDate = new Date();

// 获取当前日期对应的时间戳
var curTime = curDate.getTime();

// 获取指定时间的时间戳
var endTime = convertTime(curDate,Deadline);

// 计算出指定时间与当前时间的时间差
var disTime = endTime - curTime;

// 设置cookie过期时间
document.setCookie = name + '=' + value + ';expires=' + disTime;

// 在指定时间到达后执行回调
setTimeout(callback,disTime);

}

setCookie('name','value','24:00:00',function(){

alert('cookie过期了');

});

// 获取指定时间的时间戳
function convertTime(nowDate,Deadline){

// 分割参数Deadline
var _dateArr = Deadline.split(':');

// 分别获取参数中对应的时、分、秒
var hours = parseInt(_dateArr[0]);
var minutes = parseInt(_dateArr[1]);
var seconds = parseInt(_dateArr[2]);

// 设置对应时分秒
nowDate.setHours(hours); 
nowDate.setMinutes(minutes); 
nowDate.setSeconds(seconds);

// 获取当前天中指定时分秒对应的毫秒数
var result =  Date.parse(nowDate);
return result;

}

天蓬老师

function setCookie(name,value,days){//设置cookie

var d = new Date();
d.setTime(d.getTime() + (days*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = name + "=" + value + "; " + expires;

}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号