目前有个html页面,有10串数字,第一串是1234567,第二串是7384912,各串数字之间除了顺序,其他并无规律
想要实现每5分钟按顺序更换显示一串数字
比如,第一个5分钟,显示1234567,第二个五分钟显示7384912,如此一直显示完10串数字后再从第一串数字开始显示
有没有代码详解?
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<div id='count'></div>
</head>
<body>
<script>
var arr = ['str1','str2','str3','str4','str5','str6','str7','str8','str9','str10']
function myfun(arr){
arr = arr || [];
var i = arr.length,
count = 1;
setInterval(function(){
count = count>10?count%10:count;
document.getElementById("count").innerHTML = arr[count - 1];
count++;
},5*60*1000)
}
myfun(arr);
</script>
</body>
</html>
动态页面的话还是使用jsp比较好吧(个人用jsp比较习惯)
采用springframework+一个定时任务库,然后定义每5分钟执行,执行内容是:
首先有个定义符号的变量,比如boolean型的名字可以叫sign什么的,让他为true或false都行,在执行内容方法中,使用if,如果为true,则显示第一串,为false显示第二串。
这里的显示可以把字串符推进sevlet中,然后jsp调用就行。推入sevlet中之后,需要sign = !sign,改变符号。
如果要顺序显示n个字串符,可以定义符号变量为int型,值为1就显示第一串,值为n就显示第n穿。
当推入sevlet后,需要sign++,然后判断一下
if (sign > n){
sign = 1;
}
就可以了
既然时间上要控制到一个具体的数字,就必须用到js,应该不难吧
$(function () {
setInterval("startRequest()", 3000);
});
function startRequest() {
$("#date").text((new Date()).toString());
}
简化一下
<!doctype html>
var arr = [];
//随机生成10个整数
for (var i = 0; i < 10; i++) {
var temp =parseInt(Math.random() * 1000000);
arr.push(temp);
}
console.log(arr);
var index= 0;
setInterval(function () {
if (index > arr.length - 1)
{
index = 0;
}
var showNum = arr[index];
index++;
console.log(showNum); //这里替换成你想要显示数字的代码
},
5*60*1000 //5分钟执行一次
);
<html>
<body>
<input type="text" id="op" size="35" />
<script language='javascript'>
var int=self.setInterval("clock()",60000);
var arr = ['1234567','7384912',...]; //你的数字
function clock()
{
var t=new Date()
document.getElementById("op").value=arr[(i / 5) % 10]; // 5分钟就是5,否则就是别的。
}
</script>
</body>
</html>
简化一下
<!doctype html>
Document
var arr = ['str1','str2','str3','str4','str5','str6','str7','str8','str9','str10']
var currentPos = 0;
setInterval(function(){
currentPos = currentPos%arr.length;
document.getElementById("count").innerHTML = arr[currentPos++];
},5*60*1000);