Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 满足条件后停止执行功能_Jquery - Fatal编程技术网

Jquery 满足条件后停止执行功能

Jquery 满足条件后停止执行功能,jquery,Jquery,我的html页面触发2个php脚本,一个用于执行任务,另一个用于轮询日志文件并在html页面上显示结果。在“updatestock.php”完成后,如何停止getStatus()进程 $(函数(){ startProcess(); getStatus(); }); 函数startProcess(){ $(“#完成”).load('updatestock.php'); } 函数getStatus(){ $(“#status”).load('getstatus.php'); setTimeout(

我的html页面触发2个php脚本,一个用于执行任务,另一个用于轮询日志文件并在html页面上显示结果。在“updatestock.php”完成后,如何停止getStatus()进程


$(函数(){
startProcess();
getStatus();
});
函数startProcess(){
$(“#完成”).load('updatestock.php');
}
函数getStatus(){
$(“#status”).load('getstatus.php');
setTimeout(“getStatus()”,2000);
}

将对
getStatus
的延迟调用放入
load
的回调中,并使用if语句根据getStatus.php返回的内容确定是否调用它。它可能是某个响应代码或数据位,例如JSON响应中的
“finished”:true

将对
getStatus
的延迟调用放在
load
的回调中,并使用if语句根据getStatus.php返回的内容确定是否调用它。它可能是某个响应代码或某个数据位,例如JSON响应中的
“finished”:true

使用
load()
方法的回调设置标志,然后在
getStatus()
方法中检查:

$(function() {
    startProcess();
    getStatus();

    var flag = false;
});

function startProcess() {

    $("#done").load('updatestock.php', function() {

        flag = true;

    });

}

function getStatus() {

    if ( flag ) return false;

    $("#status").load('getstatus.php');
    setTimeout("getStatus()",2000);

}

使用
load()
方法中的回调设置标志,然后在
getStatus()方法中检查标志:

$(function() {
    startProcess();
    getStatus();

    var flag = false;
});

function startProcess() {

    $("#done").load('updatestock.php', function() {

        flag = true;

    });

}

function getStatus() {

    if ( flag ) return false;

    $("#status").load('getstatus.php');
    setTimeout("getStatus()",2000);

}

您应该使用clearTimeout:

// persistent variable needed
var timeout = 0;
$(function() {
    startProcess();
    getStatus();

});

function startProcess() {
  // second parameter of load = completion callback
  $("#done").load('updatestock.php',function()
  { 
      // clearTimeout will stop the next getStatus from firing.
      clearTimeout(timeout); 
      timeout = -1;
  });

}

function getStatus() {
  // just in case. You never know what's cached.
  // (the ids for setTimeout are positive).
  if( timeout < 0 ) return; 
  $("#status").load('getstatus.php');
  // sets the ID of the current timeout.
  timeout = setTimeout("getStatus()",2000);

}
//需要持久变量
var超时=0;
$(函数(){
startProcess();
getStatus();
});
函数startProcess(){
//load的第二个参数=完成回调
$(“#完成”).load('updatestock.php',function()
{ 
//clearTimeout将停止触发下一个getStatus。
clearTimeout(超时);
超时=-1;
});
}
函数getStatus(){
//以防万一。你永远不知道缓存了什么。
//(setTimeout的ID为正值)。
if(超时<0)返回;
$(“#status”).load('getstatus.php');
//设置当前超时的ID。
timeout=setTimeout(“getStatus()”,2000);
}

您应该使用clearTimeout:

// persistent variable needed
var timeout = 0;
$(function() {
    startProcess();
    getStatus();

});

function startProcess() {
  // second parameter of load = completion callback
  $("#done").load('updatestock.php',function()
  { 
      // clearTimeout will stop the next getStatus from firing.
      clearTimeout(timeout); 
      timeout = -1;
  });

}

function getStatus() {
  // just in case. You never know what's cached.
  // (the ids for setTimeout are positive).
  if( timeout < 0 ) return; 
  $("#status").load('getstatus.php');
  // sets the ID of the current timeout.
  timeout = setTimeout("getStatus()",2000);

}
//需要持久变量
var超时=0;
$(函数(){
startProcess();
getStatus();
});
函数startProcess(){
//load的第二个参数=完成回调
$(“#完成”).load('updatestock.php',function()
{ 
//clearTimeout将停止触发下一个getStatus。
clearTimeout(超时);
超时=-1;
});
}
函数getStatus(){
//以防万一。你永远不知道缓存了什么。
//(setTimeout的ID为正值)。
if(超时<0)返回;
$(“#status”).load('getstatus.php');
//设置当前超时的ID。
timeout=setTimeout(“getStatus()”,2000);
}

在我移动'var flag=false;'在函数{}的外部,这段代码直到我移动'var flag=false;'到函数{}的外部