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>

总结

通过以上方法即可实现该功能,操作相对简单。该功能在模拟考试等场景中具有实用价值,希望以上内容能对大家有所帮助。

作者最新文章