javascript 定时器 倒计时
链接地址:http://kevin12.iteye.com/blog/1946035
最近做项目,项目里面用到了定时器,用来刷新页面,javascript代码如下:
<script type="text/javascript">
var start = 5;
var step = -1;
function count()
{
document.getElementById("div1").innerHTML = "页面将在"+start+"秒后返回登录页面...";
start += step;
if(start <= 0){
start = 5;
//window.location="index.jsp";//返回index.jsp页面
//TODO:在这里可以做相关的操作
}
setTimeout("count()",1000);
}
window.onload = count;
</script>body中的代码如下:
<body> <div id="div1"></div> </body>
既然上面的例子可以用倒计时,但是完全可以用于自动刷新页面,就是当倒计时结束后进行相关的操作。要注意的是,如果你访问该页面时候url后面带有参数,那么在该页面中你要房租存放参数的隐藏域,在进入页面时候将该参数赋值到隐藏域中,倒计时结束时候获取隐藏域中的参数,加到url中。下面是项目中一个简单页面部分代码:
<script type="text/javascript">
//30秒刷新流程进度
var start = 30;
var step = -1;
var mainId = "";//流程主表中流程id
var pid = "";//流程id
function counts()
{
start += step;
if(start <= 0){
if(mainId==""||pid==""){
mainId = $("#mainId").val();
pid = $("#pid").val();
}
start = 30;
window.location="viewProgress.jsp?random="+Math.random()+"¶mStr="+mainId+"&pid="+pid+"&state=";
}
setTimeout("counts()",1000);
}
window.onload = counts;
</script>
<body>
<input type="hidden" id="mainId"/>
<input type="hidden" id="pid"/>
<!--下面的省略-->给隐藏域赋值的方法(部分代码):
//显示流程图
var isShowGraph = false;
var mainId = "";
var pid = "";
function showGraph(mxEditor){
var path = decodeURIComponent(location.href);//转码
var index = path.indexOf('paramStr=');
var index2=path.indexOf('&pid=');
var index3=path.indexOf('&state=');
if(index != -1){
mainId = path.substring(index+9,index2);
pid = path.substring(index2+5,index3);
$("#mainId").val(mainId);
$("#pid").val(pid);
$.ajax({
type:'POST',
dataType:'xml',
url:'../loadWorkflowXml.action',
data:{'mainId':mainId},
//下面的代码省略链接地址:http://kevin12.iteye.com/blog/1946035
简单应用可参考:http://kevin12.iteye.com/blog/1930366