在后台部署定时任务吧,前台计时器不实际:
页面刷新意味着重新计时(计时器被重置)
没有人会在一个页面停留那么长时间(2小时)
用计时器显得有点……,当然了,一定要前台使用JQuery的话,部署一个函数来计算就好:
加载的时候读取数值基数,然后根据当前时间直接计算出最终变动的值,最后显示即可。
最好的做法还是后台处理,前台请求的数据就是变动后的数值(不管是谁,何时请求?结果都是一样的)。
您这个意思是11Pm增加,从凌晨开始到2AM结束递增1是吧?这好办,用setInterval,每小时执行一次AddNum(),在AddNum中获取当前时间判断如果登录凌晨、一点、和两点的时候num+1就是了~<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="js/jquery-3.2.0.min.js"></script>
</head>
<body>
<p>初始值是0,点击按钮让其增加到10然后停止</p>
<span>0</span>
<button>开始</button>
<script>
$(function(){
$("button").click(function(event) {
var num = 0
// 调用计时函数
var t = setTimeout(timedCount(num),1000)
$("button").attr('disabled','disabled')
})
// 循环计时函数, 多次调用自身函数, num为被传递的参数
function timedCount(num){
num++
$("span").text(num)
// 设置条件使停止计时
if (num<10) {
var t = setTimeout(function(){timedCount(num)},1000)
}
}
})
</script>
</body>
</html>