数字逐渐增加的JS代码,刷新也可以不回到初始值 30

<spanid="abc">1</span><scripttype="text/javascript">varo=document.getElementById('abc... <span id="abc">1</span>
<script type="text/javascript">
var o=document.getElementById('abc');
window.setInterval('o.innerHTML=parseInt(o.innerHTML)+1;',1000);
</script>
但是每次一刷新,又从1从新开始了。。希望及时刷新,数字也不要回到初始值,当增加到一定的值之后,当增加到一定的值之后,再重新循环。

举例子:初始值是1,没隔5秒增加1,当增加到1000的时候,再从回到1重新开始增加。想知道如何做改善,或者正确的代码是什么?谢谢回答!!
展开
 我来答
马后雷鼓下扬州5058
2013-04-11 · TA获得超过4321个赞
知道小有建树答主
回答量:693
采纳率:33%
帮助的人:807万
展开全部

小齐炖博士说的思路很对。有一点,在 Chrome 上我们可以使用 HTML5 的 localStorage 或 sessionStorage,和 cookie 的效果是一样的。


下面的代码在刷新的时候保持数字不变,但关闭浏览器后会还原。如果想要一直保存数据,要在 cookie 中设置 expires(Chrome 下使用 localStorage 替换 sessionStorage)。


完整测试代码:


<script type="text/javascript">
window.onload = function() {
// 数字到达 100 后还原为 1
var max = 100,
o = document.getElementById('abc');
var chrome = /chrome/i.test(navigator.userAgent);

// 获取保存的数据
if(chrome) {
data_num = sessionStorage.getItem("num") || "";
}
else {
data_num = document.cookie.replace(
/(?:(?:^|.*;\s*)num\s*\=\s*((?:[^;](?!;))*[^;]?).*)|.*/,
"$1");
}
var num_now = parseInt(data_num) || 0;

o.innerHTML = num_now + 1;

// 每 0.1 秒更新一次数字,并保存数据
setInterval(function() {
num_now = num_now >= max ? 1 : num_now + 1;
o.innerHTML = num_now;
if(chrome) {
sessionStorage.setItem("num", num_now);
}
else {
document.cookie = "num=" + num_now + ";path=/;";
}
}, 100);
};
</script>


<span id="abc">1</span>
追问
谢谢你哦,你的代码可以的哦,只是数字变化太快,我希望5秒变一次,改了几个地方都不行,可能是还哪里出了点小问题,你能把5秒变一次的代码给我吗。
追答
代码最后那个 100 就是时间

}
}, 100);
};

改为

}
}, 5000);
};

这个时间是毫秒,1000 毫秒等于 1 秒,5000 毫秒等于 5 秒。
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
六二零Cf
2013-04-11 · 超过20用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:32.8万
展开全部
要是刷新也能补回到初始值的话,只有写入cookie,网页开始载入的时候读取cookie,然后继续递增,只有这样,温馨提示,chrome浏览器不支持本地html文件写入cookie,别的浏览器均可,我只是提个思路,至于cookie什么的,楼主百度一下会有好多的,望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GoddardHugh
2017-07-10 · TA获得超过250个赞
知道答主
回答量:118
采纳率:100%
帮助的人:46.6万
展开全部
这个不是前端代码就可以实现的, 需要配合后台逻辑并存储到数据库, 每次增1都需要定时任务将数据存放到数据库, 再刷新的时候才会保留之前的时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李伊恩唯十二
2019-04-13
知道答主
回答量:1
采纳率:0%
帮助的人:755
展开全部
请问楼主我不想初始值是1,该怎么弄啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式