2 fenglinstudio fenglinstudio 于 2016.03.29 14:29 提问

随着时间后台数值添加的问题

我有一个页面,我想让它显示个每隔多少分钟就加一的数字,比如说现在我看这个数字是100,十分钟后就是101,再过5分钟就是102,并且不受访客和页面刷新影响。中间这个时间要在5分钟10分钟20分钟这三个内随机。不知怎么做到,asp、php、html、js、jq均可。随机做不到可以不做

3个回答

tosmaller
tosmaller   2016.03.29 17:22
已采纳

var thisNum;//定义
var timeArray=[5,10,20];//定义随机时间数组
var timeT=timeArray[Math.round(Math.random()*2)]*60*1000;//随机取出一个值赋值给timeT
function addNum(){
if(window.localStorage.getItem('thisNum')!=''){
thisNum=window.localStorage.getItem('thisNum');//获取本地的数据
}else{
thisNum=100;
}
thisNum+=1;
window.localStorage.setItem('thisNum',thisNum);//设置本地的数据
console.log(window.localStorage.getItem('thisNum'));
setTimeout(addNum(),timeT);
timeT=timeArray[Math.round(Math.random()*2)]*60*1000;
}
window.onload=addNum();

        其实楼上说的对,只不过我用的是localstorage。功能上实现出来了,但是,如果用户清理浏览器缓存数据,一样会从初始数据开始
showbo
showbo   Ds   Rxr 2016.03.29 14:59

你在后台做就行了,用线程之类的随机一个等待时间,负责更新数据库,客户端就用计时器定时从数据库获取值

w172087242
w172087242   Ds   Rxr 2016.03.29 15:51

前端做是最好的,不然还需要push数字到页面,可以把你的数字、等待时间、更新时间这些内容存放在cookie;
页面刷新可以读取cookie里面设置timeout的时间已经timeout设定的时间,重新计算设计就ok啦。不刷新的话可以不用读取cookie内容;
cookie只是保存的一个副本,这样不要耗费流量,并且及时,也不用做轮询。

希望可以帮到你。

fenglinstudio
fenglinstudio 那么请求代码一看
一年多之前 回复
w172087242
w172087242 回复fenglinstudio: cookie数据可以根据需要发往服务器端的
一年多之前 回复
fenglinstudio
fenglinstudio 是需要在服务器留记录的,仅仅cookie这种。。。我的想法是这个玩意在我这里自己随着时间不短加着玩另外别人也能通过访问我的页面看到
一年多之前 回复
w172087242
w172087242 如果需要我可以给你写代码的。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!