JavaScript实现刷新不重记的倒计时
作者:拾光时间:2026-10-30 12:00:21浏览:246
本文介绍如何在JavaScript中实现刷新页面后倒计时不重置的功能。通过对比Cookie、本地缓存等方案,重点讲解利用window.name属性保存剩余时间的具体实现方式,适用于模拟考试等需要持久化倒计时的场景。
JavaScript实现刷新不重记的倒计时
前言
在JavaScript中实现倒计时功能并不复杂,但常规做法在页面刷新后会导致倒计时重新计算。若需实现刷新后倒计时继续运行而不重置,该如何处理?
目前主要有以下几种解决思路:
1. 使用Cookie
2. 利用本地缓存(LocalStorage)
3. 借助window.name属性……
前两种方法较为常见且易于理解。本文将重点介绍如何使用window.name来实现刷新不重计的倒计时,具体代码实现如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js倒计时-刷新不重计</title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
var maxtime;
if(window.name==''){
maxtime = 1*60;
}else{
maxtime = window.name;
}
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "距离考试结束还有"+minutes+"分"+seconds+"秒";
// document.all["timer"].innerHTML = msg;
document.getElementById("timer").innerHTML = msg;
if(maxtime == 5*60) alert('注意,还有5分钟!');
--maxtime;
window.name = maxtime;
}
else{
clearInterval(timer);
alert("考试时间到,结束!");
}
}
timer = setInterval("CountDown()",1000);
//-->
</SCRIPT>
<div id="timer" style="color:red"></div>
</body>
</html>
总结
通过以上方法即可实现该功能,操作相对简单。该功能在模拟考试等场景中具有实用价值,希望以上内容能对大家有所帮助。
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
