阅读时间缓存(快应用)
点击查看代码
// 定义全局变量
let startTime = null; // 记录开始时间
let elapsedTime = 0; // 记录已用时间
// 当用户进入阅读页面时调用该函数
function startReading() {
const storedTime = parseInt(localStorage.getItem("elapsedTime")); // 获取之前保存的已用时间(单位:秒)
const currentTime = new Date();
// 如果是新的一天,则重置已用时间
if (currentTime.getHours() === 0 && currentTime.getMinutes() === 0 && currentTime.getSeconds() === 0) {
elapsedTime = 0;
localStorage.setItem("elapsedTime", elapsedTime);
} else {
elapsedTime = storedTime || 0; // 如果之前有保存时间,则恢复已用时间
}
startTime = currentTime.getTime(); // 记录开始时间的时间戳
setInterval(updateElapsedTime, 1000); // 每秒更新已用时间
}
// 更新已用时间
function updateElapsedTime() {
const currentTime = new Date().getTime(); // 获取当前时间的时间戳
elapsedTime += Math.floor((currentTime - startTime) / 1000); // 累加已用时间(单位:秒)
// 将已用时间格式化为 hh:mm:ss
const formattedTime = formatTime(elapsedTime);
console.log("已用时间:" + formattedTime);
// 判断是否达到领取福利的时间(30分钟)
if (elapsedTime >= 1800) {
console.log("达到领取福利的时间,请领取福利!");
}
// 判断是否达到领取更多福利的时间(60分钟)
if (elapsedTime >= 3600) {
console.log("达到领取更多福利的时间,请领取更多福利!");
}
startTime = currentTime; // 更新开始时间的时间戳
}
// 当用户离开阅读页面时调用该函数
function saveElapsedTime() {
// 将已用时间保存到缓存中
localStorage.setItem("elapsedTime", elapsedTime);
}
本文来自博客园,作者:jialiangzai,转载请注明原文链接:https://www.cnblogs.com/zsnhweb/articles/17931803.html

浙公网安备 33010602011771号