window.setTimeout("document.all.lab_Message.innerText='正在传输检查记录1'",2000);//停2秒
解决方案 »
- 急求列表显示组件
- jsp向MYSQL4.0数据库插入数据的同时想获取自动生成的ID号的问题,特急!!!!!
- (\w)\1{4,}和(\w){4,}\1和(\w)\1{4,}\1的困惑
- javascript怎样将简体中文EncodeUrl为百度那样的格式?
- 分享传智公开课链接
- 可以延迟表单提交后转向的时间吗?
- 如何获取IFRAME中的全部内容,frameElement.document.body.innerHTML 只能获取body中的内容?
- 这段文字是如何出现的?
- 求用JavaScript生成水波紋效果的代碼!(100分)
- window.top.right.location.reload() 这段是什么意思
- 哪位大哥能介绍一下用javascript编写游戏的思路!
- 关于日期大小比较的问题!
document.all.lab_Message.innerText="正在传输检查记录1";
后面的语句写成函数
然后将下面这句放在上面语句的后面
setTimeout("yourCode()",5000)//5秒后执行新的语句
不能用这个方法,这两个东西中间有个条件的,如果上一步未完成下一步是不能做的,如:
document.all.lab_Message.innerText="正在传输检查记录1";
……
result=aaaa.result //aaaa是一个控件来的
if(result!=0)
{
document.all.lab_Message.innerText="正在传输检查记录2";
……
}
{
var dt1 = new Date();
for (;;)
{
var dt2 = new Date();
if ((dt2.getTime()-dt1.getTime()) >= nMillis)
break;
}
}
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<span id=aa></span>
<P> </P></BODY>
</HTML>
<SCRIPT LANGUAGE=javascript>
<!--
function sleep(nMillis)
{
var dt1 = new Date();
for (;;)
{
var dt2 = new Date();
if ((dt2.getTime()-dt1.getTime()) >= nMillis)
break;
}
} for(i=1;i<10;i++)
{
aa.innerText=i
sleep(100)
}
//-->
</SCRIPT>
document.all.lab_Message.innerText="正在传输检查记录1";
</script>
<%
……
%>
<script language=javascript>
document.all.lab_Message.innerText="正在传输检查记录2";
</script>
<%
……
%>
中间部分是调用Activex控件从设备上读数据。
每读一次,就有一个返回结果,如果返回结果出错,下面的就乎略掉,不继续读了。
完整一点的是:
document.all.lab_Message.innerText="正在读取检查记录1";//取检查记录1
PDA.iFile="\\program files\\GDPM\\Data\\"+ProjNo+"\\SJRec.xml"
Result=PDA.transport()
if(Result!=0&&Result!=2)
{
ErrorFun(Result)
return;
}
document.all.hid_SJOrg.value=PDA.oFiledocument.all.lab_Message.innerText="正在读取检查记录2";//取检查记录2
PDA.iFile="\\program files\\GDPM\\Data\\"+ProjNo+"\\SGRec.xml"
Result=PDA.transport()
if(Result!=0&&Result!=2)
{
ErrorFun(Result)
return;
}
document.all.hid_SGOrg.value=PDA.oFile
Javascript应该没有处于等待中,
而是继续往下执行。
Result=PDA.transport()
所得到的结果也不是这次下载的结果,而是上一次下载的结果
----可能是这样。
关键之处是读取SJRec.xml是异步的,怎样在这下面这两句话中间能够暂停……
Result=PDA.transport()
if(Result!=0&&Result!=2)
是要这样的吗?funxtion ...(...){
Result=PDA.transport();
t = setInterval("checkPDA()",100)
}
function checkPDA(){
if (PDA.status!="succeful") return;
clearInterval(t);
if(Result!=0&&Result!=2)
...
}